Hemligheten till Nvidias imponerande energieffektiva grafikkortsprestanda kan nu vara avslöjad. Det mesta pekar på att nyckeln är en tile-baserad renderingsteknik i nytt format.
Nvidia gjorde med sin Maxwell-arkitektur en av de mest imponerande GPU-lanseringarna på många år när det kom till prestanda per watt. Utan någon ny tillverkningsteknik till hands lyckades Nvidia sänka energiförbrukningen radikalt trots en ökad grafikprestanda i spel. När vi testade Geforce GTX 970 och GTX 980 här på NordicHardware konstaterade vi att Nvidia gjort något alldeles extra under omständigheterna och med de verktyg som tillverkaren haft till hands.
“Vi kan börja med att konstatera att Maxwell är bland det mest imponerande vi sett i grafikväg på väldigt länge och det största hoppet i energieffektivitet vi sett mellan två generationer utan en ny tillverkningsteknik. Det rör sig inte om några enstaka eller ens bara något tiotal watts skillnad – Nvidia har helt och hållet utklassat både sin egen Kepler-arkitektur och konkurrenten AMD:s alternativ, och det med råge.” – Ur slutledningen på NordicHardwares test av Geforce Maxwell-arkitekturen 2014.
Nu säger sig erkände teknikgurun David Kanter på techsajten RealWorldTechnologies att han mer eller mindre bekräftat att Nvidias imponerande Maxwell och Pascal-arkitekturer kan härledas till så kallad Tile-based rasterization. En renderingsteknik som undertecknad personligen testade för 15 år sedan i form av grafikkortet Hercules 3D Prophet 4500 med grafikkretsen Kyro II från STMicroelectronics.
Nvidia och AMD har tidigare försökt lösa problemen med andra tekniker för att eliminera onödigt renderad information men som åtminstone Imagination Technologies, som ligger bakom den tile-baserade renderingstekniken, hävdat aldrig kunnat nå samma effektivitet.
Tile-baserad rendering i nytt format
Tile-based rendering fick aldrig fotfäste på den stationära GPU-marknaden men har på senare år blivit allt mer populär i mobila grafikkretsar. Implementerad rätt är nämligen tile-based rendering extremt energieffektivt då den bryter ned hela scener till mindre beståndsdelar – “tiles” eller “rutor”. Varje ruta innehåller flera pixlar och en lista över hur pixlarna ska placeras. Genom att redan innan man skickar rutorna för rendering få koll på vilka pixlar som verkligen kommer att synas kan gömda ytor elimineras redan innan de textureras, detta sker i en separat krets som likt ett cacheminne ser till att inga andra resurser krävs för detta förarbete.
På detta sätt kan en rutnätsbaserad rendering se till att inte rendera onödig data på samma sätt som traditionella GPU-kretsar gör. Något som kan avesvärt sänka belastningen på minnesbussen och ta onödig datakraft. Imagine Technologies har med denna teknik utvecklat extremt energisnåla och kraftfulla mobila grafikkretsar under namnet PowerVR och nu verkar det som att Nvidia implementerat en liknande teknik i sin Maxwell- och Pascal-arkitektur.
I en artikel och tillhörande videodemonstration visar David Kanter hur AMD och Nvidia renderar en bildscen. I videon konstaterar Kanter att Nvidia använder sig en form av tile-baserad immidiate rendering som ger det bästa av två världar. Ett avslöjade som inte är helt oväntat men ändå en stor nyhet och en bra förklaring till hur Nvidia kunnat göra så stora framsteg i prestanda per watt redan innan man fick tillgång till ny och effektivare tillverkningsteknik.
“Using tiled regions and buffering the rasterizer data on-die reduces the memory bandwidth for rendering, improving performance and power-efficiency. Consistent with this hypothesis, our testing shows that Nvidia GPUs change the tile size to ensure that the pixel output from rasterization fits within a fixed size on-chip buffer or cache.” skriver David Kanter i sin artikel.
Tidigare försök att ta tile-baserad rendering till PC-marknaden har som sagt inte varit särskilt lyckade men det verkar nu som att Nvidia löst gåtan för att få tekniken att fungera väl även på PC. Om och vad tekniken har för nackdelar i Nvidias nuvarande arkitekturer Maxwell och Pascal jämfört med en mer traditionell immidiate-baserad renderingsteknik är osäkert. Men det är svårt att se klaga på de resultat som företaget levererat med sina två senaste generationer av GPU-arkitekturer. Om AMD experimenterat eller funderat på liknande renderingstekniker för Radeon-familjen är oklart.
Väldigt intressant. Dom är smarta dom på Nvidia.
Min förståelse av tiled based rendering är att GPUn delar in bildytan i mindre bitar som rymms i ett cacheminne och tack vare av detta blir renderingen snabbare. Inte som det står i artikeln att GPUn renderar mindre pixlar.
Hej Emanuel! Vet inte om du syftar på vår eller RealTechWorlds artikel? Hur som helst har du till viss del rätt, jag har försökt förtydliga detta i artikeln utan att göra det onödigt komplicerat. Med “Mindre pixlar” antar jag att du menar “färre pixlar”? Det som iaf händer är att scenerna som du säger bryts ned i rutor av flera pixlar där kretsen sedan kan förutse vilka bildelement som verkligen behöver renderas och vilka man inte behöver applicera texturer osv på. På detta sätt kan man minimera att slösa på minnesbandbredd genom att skicka data om bildelement som ändå inte… Läs hela »