Gud för i helvete vad det här var svårt att få över då!
Nej - vad jag sa var att om vi betraktar hur mobilspel ser ut idag, är kanske inte nästa steg ray-tracead ljussättning.
Videorna var till för att jämföra med t.ex. Genshin Impact eller Diablo Immortal som är bra exempel på mobila högbudgetspel. Men även om jag här gav videolänkar som visar hur spelen ser ut på faktiska mobiler, så de är gratis att ladda ner och testa, och var och en kan se med egna ögon var vi står idag, utan Youtubekompression.
Angående vilket processtekniskt utrymme vi har att förbättra, så vet vi vad TSMC kommer att försöka åstadkomma de närmaste 4-5 åren, längre ger de inga prognoser. Och det är cirka 40% högre kretstäthet (bara för logik tyvärr), och kanske 30% högre prestanda (GAA, yay!). Så i spekulationerna om att raytraceade spel skulle kunna köras på mobilerna som släpps om 5 år vet vi ganska väl vad de mobilerna i bästa fall kommer att ha för kretsresurser att fördela.
Sedan går vi tillbaka till de mobila toppspelen, tittar på dem och frågar oss hur långt det kan ta oss.
Det finns inte litografisk täckning för "i framtiden kommer allt att lösa sig" resonemang. Till och med från AMD som ju lever på att kunderna köper nytt, hör vi att litografiutvecklingen inte räcker till för större prestandaökningar utan att öka energiförbrukningen kraftigt, något som inte är en tillgänglig väg framåt på mobiler. Ur teknisk synpunkt innebär de förändrade förutsättningarna framåt att fokus bör ligga på (energi-)effektivitet och naturligtvis att mjukvarusidan får relativt större betydelse för prestandautvecklingen.
Raytracing passar den litografiska realiteten som foten i handsken. Det är i grund och botten en brute force metod, som man sedan gör smarta kompromisser med för att alls kunna köra (vissa delar) av ljussättningen i realtid. På dedicerade grafikkort för desktopbruk i toppklassen.
Vi har tillgång till effektivare metoder och de kanske är lämpligare på mobiler.
Om vi gräver ned oss lite i tekniken, för där finns saker som säger att ray-tracing på vissa sätt är mer värdefullt för mobiler än för PC/konsol.
Alla mobil GPUer använder sig av tiled-based rendering. Det ska inte förväxlas med den optimering alla PC/konsol-GPUer har sedan ett par generationer, där finns en optimering i form av tile-based rastrering (vilket inte är samma sak som tile-based rendering).
Denna skillnad har ibland väldigt lite påverkan på saker, det går (i de flesta fall) trots allt använda samma Unity/Unreal scen både på PC/konsol som på mobil.
I andra fall har den tekniska skillnad rejäl påverkan! Förenklat är skillnaden mellan tiled-based rendering vs "vanlig" rendering att den förra har två separata pass: först körs alla vertex-shaders, d.v.s. man går från model/world-space till screen-space men ingen rastrering kommer utföras. I det "vanliga" fallet körs allt hela vägen till renderade pixels (i båda fallen kan sedan post-processing hända senare, men det är separat).
I tile-based renderings andra pass, där man nu har allt cache:at i "screen-space", sker sedan rasteringssteget "tile för tile" på skärmen. Fördelen med detta är att man kan ha en rätt liten on-chip buffert för saker som Z-buffer, G-buffer och color-buffer. (Tile-based rastrering är en "best-effort" variant av detta, men man kan där inte garantera att en visst jobb helt hamnar inom en viss tile medan tile-based rendering garanterar det och måste garantera det p.g.a att rastrering sker "on-chip").
Denna distinktion gör att mobiler kan utföra saker som MSAA och vissa typer av blend-effekter långt mer effektivt än PC/konsol. Men de två hårt separerade stegen betyder också att mobilerna inte alls hanterar scener med väldigt komplex geometri speciellt väl.
Det senare är viktigt i diskussionen kring raytracing: med enklare geometri behövs inte lika kraftig HW-acceleration av raytracing för att det ska fungera väl.
Ovanpå det finns det som redan nämnts: mobilspel är i större utsträckning produktioner från väldigt små team, ibland bara en enda person. Vet inte riktigt om jag kan övertyga dig, men säger bara: testa själv! Jag är definitivt ingen grafisk designer, har väldigt svårt att få till vettig dynamiskt ljus genom "smarta tricks".
Statisk geometri blir rätt bra med bakat ljus (det påverkas på "rätt" sätt av dynamiska objekt, men framförallt stillbilder kan se väl så bra ut som raytrace:ade). Fördelen med HW-raytracing är att man bara behöver slå på det och välja en lämplig kvalitetsnivå, det är direkt trivialt jämfört med det traditionella sättet att få till riktigt bra ljussättning.
Då mobilspel generellt sett har enklare modeller + oftare jobbas på av mindre team får man flera fördelar här av HW-stöd.
Sen får man komma ihåg: även om Arm nu lanserar en mobil GPU med HW-raytracing så kan ju de som inte ser poängen ändå andas ut: är i nuläget bara toppmodellen som får stöd för raytracing, variable rate shading introducerades däremot på alla nivåer.
Apple lär dock göra en hård switch, när de introducerar HW-raytracing kommer det att finnas på alla deras nya systemkretsar från den punkten. Och det är vad som krävs för bred acceptans. Det likt hur det blev på PC från RDNA2, nu har alla nya GPUer på konsoler och PC HW-raytracingstöd, först nu kommer det kunna riktigt ta fart!
Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer