Virtuální realita a požadavky na grafické karty
9.12.2015, Pavel Šantrůček, recenze
Virtuální realita se k nám blíží mílovými kroky a VR headsety tu budou co nevidět. Bude ale výkon současných generací grafických karet pro zobrazení virtuální reality dostačující? Jaké jsou vůbec nároky na virtuální realitu? O tom je dnešní článek.
Kapitoly článku:
- Rozlišení
- Snímková frekvence
- Výkon grafických karet
- Boj o nízké latence
- Závěr
Snímková frekvence
Velký počet pixelů není jediným problémem, s kterým se grafické karty ve virtuální realitě musejí vypořádat. Na rozdíl od sledování obrazu na staticky umístěném monitoru počítače ovládaném klávesnicí a myší, s na hlavu nasazeným VR headsetem se můžete v prostoru volně pohybovat a otáčet. Součástí VR headsetů jsou pak různé senzory (magnetometry, akcelerometry, gyroskopy, IR kamery...), které sledují váš pohyb, vyhodnocují vaše umístění v prostoru a informace o vaší pozici zasílají ke zpracování do počítače. Všechny tyto informace jsou pak využity k vytvoření relevantního obrazu na displejích HMD (Head-mounted display). Otočíte-li například hlavou o 20° doleva, senzory to zaznamenají, vyšlou informace o nové pozici do počítače. Počítač vyrenderuje nové snímky pro HMD, které odpovídají novému úhlu pohledu v prostoru.
Všechny tyto operace, od nasnímání nové polohy až k finálnímu zobrazení snímků, konzumují nějaký ten čas. Na rozdíl od současné klasické renderovací pipeline, kdy procesor a grafická karta pracují na po sobě jdoucích snímcích paralelně a na nějaký ten input lag (zpoždění) se příliš nehraje, u virtuální reality se opět vše mění.
U VR pipeline není obraz zpracováván na CPU a GPU až tak paralelně jako v případě DirectX 11, kdy procesor může připravovat pro GPU až několik snímků dopředu (Context queue). Virtuální realita vyžaduje nízký input lag, který by se v případě takovéhoto kešování snímků sčítal. Procesor tedy připravuje snímek aktuální, nebo maximálně začne připravovat snímek následující. Latence snímku, tedy doba jeho tvorby od zaregistrování pohybu až po zobrazení snímku, se tak stává naprosto primární záležitostí. Pokud by totiž doba od natočení VR headsetem do vyrenderování snímků na HMD trvala příliš dlouho (vysoká latence), uživatelský vjem virtuální reality by byl nejen ztracen, ale také by tyto prodlevy mohly zapříčinit různé druhy nevolností.
Doba od změny pozice uživatele v prostoru až po zobrazení snímku na HMD se nazývá Motion to Photon Latency (MtPL) a neměla by za žádných okolností překročit hodnotu 20 ms. Samozřejmě, čím nižší je tato latence, tím lépe a pro opravdu kvalitní vjem virtuální reality je doporučována latence spíše kolem 10 ms.
Pokud by se tedy Motion to Photon Latency měla pohybovat v rozmezí od 10 – 20 ms, pak na práci samotné grafické karty a zobrazení na HMD připadá zhruba polovina této doby. Řekněme tedy 5 až 10 ms, což představuje snímkovou frekvenci 100 – 200 FPS. Jak vidíte, proti současnosti, kdy se při hraní počítačových her většinou spokojíme se snímkovou frekvencí kolem 60 FPS, je to při práci ve VR znatelný rozdíl. Vše je ještě umocněno tím, že při hraní na monitoru počítače nám nějak zásadně nevadí, trvá-li vyrenderování sem tam nějakého toho snímku dobu výrazně delší (stutter), ve virtuální realitě nám však tento stutter může opět přivodit již dříve zmiňovanou nevolnost a ztrátu vnímání reality.
Stručně řečeno, ve virtuální realitě se na průměrnou snímkovou frekvenci nehraje, ale vše se odvíjí od nízkých latencí každého jednotlivého snímku!
My bychom se mohli na požadavky snímkové frekvence podívat také z druhé strany, tedy z pohledu HMD a jeho obnovovací frekvence (refresh rate). Budeme předpokládat, že při každém novém obnovení HMD bude zobrazen jeden snímek a hodnota Motion to Photon Latency bude rovna této frekvenci. Na samotné GPU a zobrazení na HMD pak bude připadat polovina této latence.
VR headset | HMD Refresh | MtPL | GPU Latence | GPU FPS |
Oculus Rift SDK2 | 75 MHz | 13,34 ms | 6,67 ms | 150 FPS |
Project Morpheus | 120 MHz | 8,33 ms | 4,16 ms | 240 FPS |
HTC Re ViVe | 90 MHz | 11,11 ms | 5,56 ms | 180 FPS |
Jak vidíte, i přes obnovovací frekvenci HMD jsme dospěli k velmi podobným výsledkům požadované snímkové frekvence jako u výpočtu pomocí Motion to Photon Latency. Jediný, kdo nám v naší tabulce vystoupil trochu z řady, je Project Morpheus se svými 240 FPS a jen čas ukáže, jestli tento projekt nebude až příliš ambiciózní.
Nyní tedy konečně víme, o kolik pixelů a v jaké snímkové frekvenci by se měla grafická karta ve virtuální realitě postarat, takže se pojďme podívat, jestli jsou výkony dnešních grafických karet pro virtuální realitu tím pravým ořechovým.