Sneller in VR dankzij Simultaneous Multi-Projection
Met afstand de belangrijkste nieuwe functionaliteit van de Pascal-generatie GPU’s is een technologie getiteld Simultaneous Multi-Projection. Het maakt dat dezelfde 3D-scene gelijktijdig berekend kan worden vanuit verschillende gezichtspunten. Het biedt een gigantische prestatiewinst voor gebruikers van een VR-headset en kan ook gebruikt worden voor het verbeteren van de weergave van 3D-games in multi-monitor setups.
Om precies te begrijpen wat SMP doet, moeten we even terug naar de basale werking van een GPU. Voor ieder te berekenen beeld krijgt de GPU allereerst vanuit de processor alle data aangeleverd over wat er precies gebeurt in de game. Daarna gaat de zogenaamde front-end van de GPU aan de slag en draaien algoritmes die de opbouw van objecten de virtuele 3D-wereld regelen. Alle 3D-objecten worden zoals bekend opgebouwd uit driehoeken, triangles in jargon. Vertex shader algoritmes kunnen de exacte plaatsing en opbouw van de triangles aanpassen, tesselation kan een object opbouwen uit meer segmenten door triangles op te delen in meerdere kleinere driehoeken en geometry shader algoritmes kunnen daarna meer detail toevoegen door bijvoorbeeld op basis van die extra driehoeken reliefwerking e.d. toe te voegen. Na deze stap is de virtuele 3D wereld opgebouwd en vindt zogenaamde rasterization plaatsen. Hierbij de 3D-wereld vanuit een specifiek camera standpunt geprojecteerd tot een 2D-beeld en omgezet in daadwerkelijke pixels zoals die uiteindelijk op het scherm verschijnen. Zodra dat gebeurd is zorgen pixel shader algoritmes samen met zaken als texturing (het plaatsen van afbeeldingen op driehoeken) voor de daadwerkelijke inkleuring voor de textures.
Tijdens de rasterization komt SMP om de hoek kijken. Traditionele GPU’s doen hun berekeningen op basis van één camerastandpunt, namelijk het standpunt van het huidige beeld op je monitor. Dankzij SMP kunnen Pascal GPU’s gelijktijdig tot 16 projecties berekenen. Zelfs wanneer van dezelfde scene meerdere projecties worden gemaakt, worden alle eerste stappen van de GPU-pipeline (alles tot en met de geometry shader) maar één keer uitgevoerd. Omdat traditionele GPU’s dit niet kunnen, moet wanneer er twee of meer projecties nodig zijn alles meerdere keren gebeuren. En juist bij VR, waar er voor elke beeld twee ietwat afwijkende camerastandpunten nodig zijn voor het linker en het rechter oog, scheelt dat flink. Maar VR is niet de enige toepassing waar SMP profijt brengt…
Multi-monitor
Misschien de belangrijkste verbetering die SMP brengt, is de betere ondersteuning voor gamen op meerdere schermen. Wanneer je bijvoorbeeld speelt op drie schermen wordt er een projectie gemaakt als één breed 2D-vlak en is het beeld enkel kloppend wanneer je de monitoren recht naast elkaar ziet. Wie drie schermen in een hoek plaatst om zo 'midden in de actie' te zitten, kijkt vanuit een andere hoek naar scherm 1 en 3 dan waarvoor de beelden berekend zijn, wat een vertekening tot gevolg heeft. Een klein aantal games biedt de mogelijkheid om dit te verhelpen, maar daarvoor had je tot nu toe drie losse videokaarten nodig. Dat is bij Pascal voorbij! Dankzij SMP kan je in de drivers aangeven onder welke hoek je schermen ten opzichte van elkaar geplaatst zijn. De 3D-beelden worden voor elk van de schermen door één en dezelfde GPU vervolgens vanuit een kloppend camerastandpunt gerenderd. Wie dus bijvoorbeeld drie schermen als het ware om zich heen zet, zal daardoor ook meer van de zijkant kunnen zien dan puur een breder gezichtsveld naar voren.
Een surround opstelling met drie schermen, links met perspectief correctie, rechts zonder. In de oude situatie (rechts) is het beeld op de buitenste schermen vertekend. Links klopt het beeld en heb je daardoor een breder blikveld.
Onderstaande afbeeldingen, waarbij je ingezoomd naast elkaar de middelste en de rechter monitor van een 3-weg opstelling onder een hoek ziet, tonen het effect nog veel duidelijker.
Het mooie van SMP is niet alleen dat deze correctie überhaupt met een enkele videokaart mogelijk is, maar ook dat het zonder enig prestatieverlies kan, aldus Nvidia.
VR versneld
SMP is echter primair ontwikkeld ten behoeve van virtual reality. Bij VR-headsets moeten 3D-beelden zoals gezegd vanuit twee licht verschillende camerastandpunten (voor je linker- en rechteroog) worden berekend, waarna die camerastandpunten worden samengevoegd in één beeld, dat naar de VR-headset wordt gestuurd. Om dat met traditionele GPU's te doen zijn er de nodige software trucs nodig om beide beelden los van elkaar te berekenen en vervolgens samen te voegen. SMP maakt het mogelijk om dit één keer te doen, zonder tussenstappen die ten koste van de prestaties gaan.
Maar Nvidia gaat nog een stap verder. Wie zich heeft verdiept in VR weet dat GPU’s beelden voor headsets als de Oculus Rift en de HTC Vive met een soort van conische vervorming moeten berekenen om te compenseren voor het effect van de lenzen in de headsets. Vierkanten 2D-beelden moeten na het renderen worden omgezet in VR-vriendelijke beelden (zoals te zien op de onderstaande screenshots), om daarna achter de lenzen te worden geprojecteerd. Bij die omzetting gaan veel berekende pixels verloren, vooral uit de hoeken. Verspilling van rekenkracht dus!
Links een 3D-beeld zoals berekend door een GPU, rechts de aangepaste variant zoals die wordt gestuurd naar een VR-headset waarbij rekening wordt gehouden met de vertekening van de lenzen. Bij deze aanpassing worden veel pixels uit de randen weggegooid.
Dankzij multi-projection maakt men voor beide ogen vier verschillende projecties (acht in totaal) die aantal elkaar geplakt dicht in de buurt komen van de projectie zoals nodig voor de lenzen. Op die manier is er minder nabewerking nodig en is de beeldkwaliteit beter, maar het belangrijkste voordeel is nog wel dat er veel minder overbodige pixels worden berekend.
Om even het voordeel van SMP te illustreren: traditionele GPU’s moeten per frame voor de Oculus Rift zo’n 4,2 miljoen pixels berekenen. Pascal videokaarten kunnen echter dankzij SMP echt optimale projecties berekenen en deze vervolgens samenvoegen, waardoor ze met een stuk minder pixels (2,8 miljoen) zelfs betere beeldkwaliteit bereiken.
Het maakt dus dat voor VR bij de eerste stappen van de 3D-pipeline er 50% van het GPU-rekenkracht wordt bespaard en in de laatste stappen 33%. We schreven op de voorgaande pagina al dat de GTX 1080 dankzij de extra shader units en de hogere klokfrequenties in theorie tot 1,7x de prestaties van voorloper GTX 980 moet kunnen bieden. Dankzij de SMP-trukendoos moet de nieuwe kaart in VR-applicaties dus zelfs tot 2,7x zo snel zijn dan de GTX 980.
Voor SMP is volgens Nvidia uitdrukkelijk hardwarematige ondersteuning nodig. Het is dus niet mogelijk de technologie via een driver-update ook voor bestaande kaarten beschikbaar te maken.
12 besproken producten
Vergelijk | Product | Prijs | |
---|---|---|---|
![]() |
Asus GeForce GTX 1080 Founders Edition 8GB
|
Niet verkrijgbaar | |
![]() |
EVGA GeForce GTX 1080 Founders Edition 8GB
|
Niet verkrijgbaar | |
![]() |
Gainward GeForce GTX 1080 Founders Edition 8GB
|
Niet verkrijgbaar | |
![]() |
Gigabyte GeForce GTX 1080 Founders Edition 8GB
|
Niet verkrijgbaar | |
![]() |
Inno3D GeForce GTX 1080 Founders Edition 8GB
|
Niet verkrijgbaar | |
![]() |
KFA2 GeForce GTX 1080 Founders Edition 8GB
|
Niet verkrijgbaar | |
![]() |
MSI GeForce GTX 1080 Founders Edition 8GB
|
Niet verkrijgbaar | |
![]() |
Nvidia GeForce GTX 1070
|
Niet verkrijgbaar | |
![]() |
Nvidia GeForce GTX 1080
|
Niet verkrijgbaar | |
![]() |
Palit GeForce GTX 1080 Founders Edition 8GB
|
Niet verkrijgbaar | |
![]() |
PNY GeForce GTX 1080 Founders Edition 8GB
|
Niet verkrijgbaar | |
![]() |
Zotac GeForce GTX 1080 Founders Edition 8GB
|
Niet verkrijgbaar |