Innehållsförteckning:
Samsungs demonstration av allt som Galaxy S7 och S7 edge kommer att kunna - när du väl kan få tag på dem - var lika imponerande som någonsin. Som ofta är fallet med den här typen av saker, men det finns frågor kvar att besvara. När det gäller prestanda och spelfunktioner finns det en god chans att åtminstone ett par av dessa frågor har att göra med Samsung som gör dessa telefoner till de första med Vulkan API: er ombord.
Vi har sett demonstrationer av vad Vulkan så småningom kommer att kunna i skrivbordsmiljöer, men en stor fråga som behöver besvara är vad Vulkan betyder för Galaxy S7- och S7-kantägare. Här är vad vi vet hittills, och vad vi kan gissa kommer att hända nästa tack vare några mycket smarta människor som arbetar med Vulkan och inom spelindustrin.
Första saker först, vad är Vulkan?
Fråga alla som för närvarande arbetar med OpenGL inom spel om behovet av något bättre, så får du samma svar. Ja, nu snälla.
Medan mycket kan göras med nuvarande tekniker, är det en enorm utmaning att föra spelupplevelser över plattformar. Även med rätt personer och rätt resurser är det långt ifrån lätt. AMD försökte fixa detta med en teknik som de kallade Mantle, men istället för att slutföra projektet fortsatte arbetet med DirectX 12. Mantel donerades istället till Khronos-gruppen som en öppen källkodsinsats för att standardisera lågnivåberäkning och rendering på multi- centrala CPU-system.
I grund och botten är målet med Vulkan att göra det lättare att få bättre grafikprestanda genom att utnyttja din flerkärniga processor. Multitrådning innebär att Vulkan kan göra vad OpenGL ES inte kan, och slutresultatet är en total prestationsökning. Eftersom det är ett öppen källkodsprojekt som stöds av flera små grupper, kunde den första utgåvan rikta in sig på flera plattformar samtidigt. Android är en av dessa plattformar, och vi har redan sett att flera tillverkare omedelbart börjar arbeta med sätt att stödja Vulkan för utvecklare som är intresserade av att bygga något som förlitar sig på dessa API: er.
När vi satte oss ned med Sascha Willems, en utvecklare som har jobbat med Vulkan ett ganska länge nu, påpekade han en annan betydande fördel med att använda Vulkan.
Porting är ett annat område som bör gynnas. Även om OpenGL och OpenGL ES har mycket gemensamt måste du fortfarande lägga in massor av portinginsatser, och du brukar slutligen skriva separata återgivare för båda. Med Vulkan är det inte längre fallet. Det enda som är annorlunda är den plattformspecifika koden som att få ett renderingfönster, men det har väldigt förbättrats jämfört med OpenGL (ES) med WSI (fönstersystemintegration) som är en del av Vulkan. Speciellt med enheter som NVIDIA Shield som erbjuder skrivbord som GPU-prestanda antar jag att vi kommer att se fler skrivbordsspel som överförs till Android tack vare Vulkan. Att lägga till Android-stöd till mina Vulkan-exempel till exempel var bara några minuter, och renderingskoden är exakt densamma i Windows, Linux och Android
Så varför är Samsung först på marknaden? I grund och botten kommer Samsung att använda Vulkan till domstolutvecklare för att skapa upplevelser som konkurrerar direkt med Apples påstående att spel är bättre på iPhone. Genom att erbjuda detta före någon annan kan Samsung närma sig utvecklare utomhus vid evenemang som företagets kommande utvecklarkonferens och få fantastiska spel som spelar bäst på Galaxy S7 och S7 Edge.
Är Vulkan ett svar på Metal?
De flesta människor som använder Vulkan just nu är glada att jämföra detta nya API med vad Apple har gjort med deras lågnivåprestanda, Metal. Om du någonsin har sett hur Apple visar Metal på scenen, eller använt ett spel byggt med Metal på en iPhone kontra samma spel på en annan telefon, vet du skillnaden i betydande. Att förlita sig på OpenGL ES för 3D-spel på en telefon är en resursskog, vilket innebär att ditt batteri tappas snabbare för en underlägsen upplevelse. Metal adresserar det på ett stort sätt för Apple, och i teorin kan Vulkan göra något liknande för Android.
Det finns mycket mer än det, som vi lärde oss av att prata med Giant Spacekat, utvecklingschef Brianna Wu. Som utvecklare bekant med Metal och Vulkan kunde hon erbjuda ett litet perspektiv.
Det är rättvist att kalla dem liknande, eftersom båda teknikerna försöker lösa samma problem. Den här OpenGL-stacken är ohållbar, den skrev i en tid med detta en-kärnparadigm och det fungerar bara inte längre. Apple rullar ut Metal är mycket meningsfullt för dem. Skillnaden för Apple är att de kan titta på en lista med drivrutiner, en lista över GPU: er, en lista med skärmar och de har mycket kontroll över hårdvaran. De kan ta med någon in för att programmera det här i församlingen, och det är en hållbar väg framåt. Vulkan försöker lösa samma problem sammanlagt, men det är en mycket bredare sak som de försöker implementera. Det är ett mycket, mycket svårare problem att lösa, speciellt när det inte finns ett företag på storlek Apple som leder den tekniken.
På Android har vi redan sett exempel på vad Wu talar om. NVIDIA och Samsung har uppenbarligen hoppat rätt upp och meddelat stöd för Vulkan på sina egna sätt, men det kommer att vara tills åtminstone nästa version av Android innan Google har antagit Vulkan naivt i hela Android. Även när det händer kommer det bara att vara den senaste versionen av Android som går framåt. En snabb titt på de senaste versionerna från Google är all förklaring du behöver för varför det kommer att ta ett tag att bli en plattformsövergripande erfarenhetsförbättrare.
Support från Google är inte den enda utmaningen framöver. Utbredd adoption av utvecklare är en betydande utmaning på alla plattformar. Som Wu påpekade under vår intervju har Apples Metal varit ute ganska länge nu och antalet spel som stöder ramverket är ganska lågt.
Det är en av dessa idéer som verkligen löser ett problem, men åtminstone på Apple-sidan har vi en lång väg att gå innan vi verkligen har löst detta tjocka OpenGL-stackproblem. Det är uppriktigt sagt att döda plattformen.
Samsung hoppas kunna ta itu med detta direkt och har haft en viss begränsad framgång med detta tillvägagångssätt med sina Fingerprint API: er och app med flera fönster-app, men precis som Apple och Metal kommer det att ta ett tag innan vi ser något betydande antagande.
Vad sägs om Vulkan och VR?
Den andra stora anledningen till att Samsung hoppar på möjligheten att bli den första tillverkaren med Vulkan-stöd är Gear VR. Samsung och Oculus har gjort ett bra jobb med att höja smartphonebaserad VR ovanför den passiva Google Cardboard-upplevelsen, men plattformen är inte utan prestandaproblem. Med Oculus och Samsung som båda agerar som medlemmar i Khronos-gruppen är det vettigt att båda företagen skulle uppmuntra utvecklare att stödja denna nya teknik för att fortsätta förbättra Gear VR-upplevelsen. Faktum är att enligt Sascha är VR en stor del av varför Vulkan är en så stor sak just nu.
VR förlitar sig starkt på en smidig upplevelse med stabila bildhastigheter och inga hick-ups. Vulkan erbjuder mycket inom detta område, t.ex. GPU-tidtagare och bättre synkronisering tillsammans med multitrådning. Saker som mikrostammare är ganska vanligt med OpenGL (ES) och svårt att fixa. Jag tror att detta är ett område där Android kommer att dra mest nytta av. Vulkan är mycket mer tydlig än OpenGL ES och ger mycket mer information om t.ex. återgivningsrörledningen till GPU (och förare) i förväg, vilket gör det mycket mer förutsägbart och därmed enklare för GPU. Detta resulterar i mycket mindre arbete för föraren och ersätter den skrymmande (och svårt att förutsäga) tillståndsmaskinen för OpenGL.
Att bygga med Vulkan skulle göra en enorm skillnad i sammanhanget för Gear VR särskilt, och för spelutvecklare är det ett bra sätt att göra mer i denna ganska begränsade men betydligt mer tillgängliga form av VR. Som spelutvecklare kunde Wus stöd för Samsung att förbättra Gear VR med Vulkan inte vara mer tydligt.
Att använda Gear VR just nu kör processorn så hårt att det tappar mitt batteri på cirka 50 minuter, och fördröjningen är verkligen hemskt. Om det någonsin har funnits ett extremt övertygande fall för en öppen standard som Vulkan att komma ner i Assembly och verkligen optimera detta grafiska lager, så är det det. Vi tappar inte på glas för alltid, du måste fråga vart vi ska. Att bygga upp VR och dessa 3D-tekniker är absolut kritiskt. Om Samsung kommer att vara den typ av testfall här, är detta optimalt. Detta är den plats där den tekniken är desperat behövs.
Det råder ingen tvekan om att detta kommer att vara exakt motsatsen till en ökning av prestanda över en natt, men potentialen för Vulkan att öppna dörrar för bättre upplevelser kunde inte vara mer tydlig. Med Galaxy S7 och S7 Edge är det ett första steg för Samsung mot en kraftfull ny spel- och VR-upplevelse och en bra tid att stå huvud och axlar ovanför tävlingen och hävda att de var här först.