Logo nl.androidermagazine.com
Logo nl.androidermagazine.com

Vulkan op de Samsung Galaxy S7 is potentieel een heel groot probleem

Inhoudsopgave:

Anonim

De demonstratie van Samsung van alles waar de Galaxy S7 en S7 edge in staat zijn - zodra je ze in handen hebt - was nog steeds indrukwekkend. Zoals vaak het geval is met dit soort dingen, zijn er echter nog vragen om te beantwoorden. Als het gaat om prestaties en spelmogelijkheden, is er een goede kans dat ten minste een paar van die vragen te maken hebben met Samsung, waardoor deze telefoons de eerste zijn met Vulkan API's aan boord.

We hebben demonstraties gezien van wat Vulkan uiteindelijk in staat zal zijn in desktopomgevingen, maar een grote vraag die beantwoord moet worden, is wat Vulkan betekent voor Galaxy S7 en S7 edge-eigenaars. Dit is wat we tot nu toe weten en wat we kunnen raden, gaat gebeuren dankzij enkele zeer slimme mensen die met Vulkan en in de gamingindustrie werken.

Eerste dingen eerst, wat is Vulkan?

Vraag iemand die momenteel met OpenGL aan het gamen is, naar de behoefte aan iets beters, en je krijgt hetzelfde antwoord. Ja, nu graag.

Hoewel er veel kan worden gedaan met de huidige technologieën, is het een enorme uitdaging om game-ervaringen over verschillende platforms te brengen. Zelfs met de juiste mensen en de juiste middelen is het verre van eenvoudig. AMD wilde dit oplossen met een technologie die ze Mantle noemden, maar in plaats van het project af te ronden en aan DirectX 12 te werken, werd Mantle in plaats daarvan aan de Khronos Group geschonken als een open source-poging om low-level computing en rendering op multi- standaard te standaardiseren kern CPU-systemen.

Kortom, het doel van Vulkan is om het gemakkelijker te maken om betere grafische prestaties te krijgen door uw multi-coreprocessor volledig te gebruiken. Multi-threading betekent dat Vulkan kan doen wat OpenGL ES niet kan, en het eindresultaat is een algehele prestatieverbetering. Omdat het een open source project is dat wordt ondersteund door verschillende kleine groepen, kon de eerste release meerdere platforms tegelijkertijd targeten. Android is een van die platforms, en we hebben al verschillende fabrikanten onmiddellijk zien werken aan manieren om Vulkan te ondersteunen voor ontwikkelaars die geïnteresseerd zijn in het bouwen van iets dat afhankelijk is van die API's.

Toen we met Sascha Willems gingen zitten, een ontwikkelaar die al een tijdje met Vulkan samenwerkt, wees hij op een ander belangrijk voordeel van het gebruik van Vulkan.

Porten is een ander gebied dat hiervan zou moeten profiteren. Hoewel OpenGL en OpenGL ES veel gemeen hebben, moet je nog steeds veel port-inspanningen leveren en meestal schrijf je voor beide programma's afzonderlijke renderers. Met Vulkan is dat niet langer het geval. Het enige dat anders is, is de platformspecifieke code, zoals het verkrijgen van een renderingvenster, maar dat is ten opzichte van OpenGL (ES) sterk verbeterd met de WSI (integratie van raamsystemen) die deel uitmaakt van Vulkan. Vooral met apparaten zoals de NVIDIA Shield die desktop-achtige GPU-prestaties bieden, denk ik dat we dankzij Vulkan meer Desktop-games naar Android zullen overdragen. Het toevoegen van Android-ondersteuning aan mijn Vulkan-voorbeelden was bijvoorbeeld slechts een kwestie van minuten, en de renderingcode is precies hetzelfde voor Windows, Linux en Android

Dus waarom komt Samsung als eerste op de markt? Kortom, Samsung gaat Vulkan gebruiken voor rechtbankontwikkelaars om ervaringen te creëren die rechtstreeks concurreren met de bewering van Apple dat gamen beter is op de iPhone. Door dit voor iedereen aan te bieden, is Samsung in staat om ontwikkelaars op evenementen zoals de aanstaande ontwikkelaarsconferentie van het bedrijf te benaderen en geweldige games te krijgen die het beste spelen op de Galaxy S7 en S7 Edge.

Is Vulkan een antwoord op metaal?

De meeste mensen die op dit moment Vulkan gebruiken, willen deze nieuwe API graag vergelijken met wat Apple heeft gedaan met hun low-level prestatieraamwerk, Metal. Als je ooit hebt gezien hoe Apple op het podium pronkt met Metal, of een game hebt gebruikt die is gebouwd met Metal op een iPhone versus diezelfde game op een andere telefoon, weet je het verschil aanzienlijk. Vertrouwen op OpenGL ES voor 3D-gaming op een telefoon is een bron van middelen, wat betekent dat uw batterij sneller leeg is voor een inferieure ervaring. Metal behandelt dat op een grote manier voor Apple, en in theorie zou Vulkan iets soortgelijks kunnen doen voor Android.

Er is veel meer dan dat, zoals we hebben geleerd door te spreken met Giant Spacekat, hoofd ontwikkeling Brianna Wu. Als ontwikkelaar bekend met Metal en Vulkan, kon ze een beetje perspectief bieden.

Het is eerlijk om ze vergelijkbaar te noemen, omdat beide technologieën hetzelfde probleem proberen op te lossen. Deze OpenGL-stack is onhoudbaar, hij is geschreven in een tijdperk met dit single-core paradigma en het werkt gewoon niet meer. Apple die Metal uitrolt, is heel logisch voor hen. Het verschil voor Apple is dat ze kunnen kijken naar een lijst met stuurprogramma's, een lijst met GPU's, een lijst met schermen en ze hebben veel controle over de hardware. Ze kunnen iemand binnenbrengen om dit soort dingen in Assembly te programmeren, en het is een houdbare weg vooruit. Vulkan probeert datzelfde probleem in totaal op te lossen, maar het is een veel breder iets dat ze proberen te implementeren. Het is een veel, veel moeilijker probleem om op te lossen, vooral als er geen bedrijf is dat zo groot is als Apple dat die technologie leidt.

Op Android hebben we al voorbeelden gezien van waar Wu het over heeft. NVIDIA en Samsung zijn duidelijk meteen opgestart en hebben op hun eigen manier ondersteuning voor Vulkan aangekondigd, maar het zal tot tenminste de volgende versie van Android zijn voordat Google Vulkan naïef in alle Android heeft overgenomen. Zelfs wanneer dat gebeurt, is het alleen voor de nieuwste versie van Android die verder gaat. Een snelle blik op recente versienummers van Google is alle uitleg die u nodig hebt waarom dit een tijdje duurt om een ​​platformbrede ervaringsverbeteraar te zijn.

Ondersteuning van Google is niet de enige uitdaging die voor ons ligt. De brede acceptatie van ontwikkelaars is een belangrijke uitdaging op elk platform. Zoals Wu tijdens ons interview opmerkte, is Apple's Metal nu al een tijdje uit en is het aantal games dat het framework ondersteunt vrij laag.

Het is een van deze ideeën die echt een probleem oplost, maar in ieder geval aan de Apple-kant hebben we nog een lange weg te gaan voordat we dit dikke OpenGL-stapelprobleem echt hebben opgelost. Het is, eerlijk gezegd, het platform aan het doden.

Samsung hoopt dit direct aan te pakken, en heeft met deze aanpak een beperkt succes gehad met hun vingerafdruk-API's en ondersteuning voor meerdere vensters, maar net als Apple en Metal zal het een tijdje duren voordat we een belangrijke acceptatie zien.

Hoe zit het met Vulkan en VR?

De andere grote reden waarom Samsung de kans aangrijpt om de eerste fabrikant met Vulkan-ondersteuning te zijn, is de Gear VR. Samsung en Oculus hebben uitstekend werk geleverd door smartphone-gebaseerde VR boven de passieve Google Cardboard-ervaring te brengen, maar het platform is niet zonder prestatieproblemen. Met Oculus en Samsung beiden als leden van de Khronos Group, is het logisch dat beide bedrijven ontwikkelaars zouden aanmoedigen om deze nieuwe technologie te ondersteunen om de Gear VR-ervaring te blijven verbeteren. Volgens Sascha is VR zelfs een belangrijk onderdeel van waarom Vulkan nu zo belangrijk is.

VR leunt zwaar op een soepele ervaring met stabiele framesnelheden en geen hick-ups. Vulkan biedt veel op dit gebied, bijvoorbeeld GPU-timers en betere synchronisatie samen met multi-threading. Dingen zoals microstotteren zijn vrij gebruikelijk met OpenGL (ES) en moeilijk te repareren. Ik denk dat dit een gebied is waar Android het meest van zal profiteren. Vulkan is veel explicieter dan OpenGL ES en biedt van tevoren veel meer informatie over bijvoorbeeld de renderingpijplijn naar de GPU (en het stuurprogramma), waardoor deze veel voorspellend en dus gemakkelijker voor de GPU is. Dit resulteert in veel minder werk voor de bestuurder en vervangt de omvangrijke (en moeilijk te voorspellen) statusmachine van OpenGL.

Bouwen met Vulkan zou vooral een enorm verschil maken in de context van de Gear VR, en voor game-ontwikkelaars is het een geweldige manier om meer te doen in deze vrij beperkte maar aanzienlijk meer toegankelijke vorm van VR. Als game-ontwikkelaar kon Wu's ondersteuning van Samsung bij het verbeteren van de Gear VR met Vulkan niet duidelijker zijn.

Met behulp van de Gear VR wordt de processor nu zo hard dat mijn batterij in ongeveer 50 minuten leeg raakt, en de latentie is echt verschrikkelijk. Als er ooit een buitengewoon overtuigende zaak is geweest voor een open standaard zoals Vulkan om in Assembly te komen en deze grafische laag echt te optimaliseren, dan is dit het. We gaan niet voor altijd op glas tikken, je moet vragen waar we naartoe gaan. Het opbouwen van VR en deze 3D-technologieën is absoluut cruciaal. Als Samsung hier het soort testcase wordt, is dit optimaal. Dit is de plaats waar die technologie hard nodig is.

Er is geen twijfel dat dit precies het tegenovergestelde is van een prestatieverbetering van de ene op de andere dag, maar het potentieel voor Vulkan om deuren naar betere ervaringen te openen, kon niet duidelijker zijn. Met de Galaxy S7 en S7 Edge is dit een eerste stap voor Samsung op weg naar een krachtige nieuwe gaming- en VR-ervaring en een goed moment om met kop en schouders boven de concurrentie te staan ​​en te beweren dat ze hier als eerste waren.