Diit.cz - Novinky a informace o hardware, software a internetu

Vývojář: 2GB VRAM stačí i pro 4k, pokud se nekašle na kompresi textur

Jaká kapacita grafické paměti by měla stačit pro hry ve 4k rozlišení? 4 GB? 6 GB nebo snad 12 GB? Sebastian Aaltonen, vedoucí 3D programátor z RedLynx, tvrdí, že 2 GB i s rezervou.

Letošní generace high-end grafických karet otevřela téma (ne)dostatečnosti určité kapacity onboard grafické paměti pro nové hry a 4k rozlišení. Mnohé diskuse na toto téma o své názory obohatili i hardwaroví specialisté a odborníci z řad vývojářů, a tak není o zajímavé názory nouze.

Kupříkladu Joe Macri z AMD připustil, že v posledních letech byli výrobci grafických karet co do osazené paměti natolik štědří, že téměř nedocházelo k situacím, kdy by paměť nových karet nestačila, a tak nevznikala potřeba vyvíjet v rámci ovladačů nové optimalizace pro nakládání s dostupnou pamětí. Tím podle Macriho vznikla rezerva, kterou lze v případě potřeby využít.

Gcn Async Shaders 07

Někteří vývojáři poukázali na fakt, že nové hry fungují trochu odlišným způsobem než dříve, kdy se s nahráním každého levelu nahrály do paměti textury pro celý level a buďto na ně paměť stačila, nebo nestačila. V současnosti už jde o více-méně streamovanou záležitost, kdy grafická paměť funguje spíš jako určitý buffer, do kterého jsou průběžně nahrávány textury používané v aktuální scéně a scéně (či scénách), které budou pravděpodobně následovat. Kapacita paměti tudíž nemusí stačit pro určitý rozsáhlý úsek hry, ale jen pro příslušnou vykreslovanou část. Pokud je k dispozici více paměti, než je pro příslušnou scénu třeba, může hra zbývající prostor využít pro textury, jejichž využití očekává v následujících scénách - zda budou nebo nebudou využité je věcí úspěšnosti predikce - pokud se třeba hráč otočí a půjde hrou zpět namísto vpřed, asi to úplně optimálně fungovat nebude.

Mohou tedy 4 GB stačit i pro nové hry ve 4k rozlišení? Sebastian „sebbi“ Aaltonen, vedoucí 3D programátor z RedLynx, tvrdí, že by s rezervou stačily i 2 GB. Ovšem za předpokladu, že by vývojáři správně využívali kompresi textur. Což se podle něj bohužel neděje. Důvody jsou různé. Jednak dosavadní grafiky nabízely tolik paměti, že někteří vývojáři neměli motivaci vůbec nějaké optimalizace využívat a namísto DXT komprese mnohé tituly zůstávaly jen u ZIP/LZMA. Pak jsou tituly, které kompresi využívají, ale ne optimálním způsobem. DirectX nabízí několik režimů komprese značených jako BCn (BC1, BC2 … BC7), které se liší nejen cílovým využitím, ale také verzí DirectX, která je představila: přibližně lze říct, že čím vyšší číslo, tím novější a pokročilejší algoritmus.

Například režimy BC6 a BC7 přišly s DirectX 11 a jsou technologicky velmi pokročilé. BC6 je vhodný (i)pro HDR textury, protože umí pracovat s FP daty, BC7 pro klasické textury (i s průhledností). Oba jsou koncipované tak, že pro každý blok dat mohou využít jiný kompresní algoritmus podle toho, který dosáhne nejvyšší kvality. Díky tomu je i v případě textur s relativně složitou kresbou možné dosahovat výstupů, které se vizuálně prakticky neliší od nekomprimované textury. Proč tyto režimy nejsou široce rozšířené? Zčásti možná proto, že dokud stačila kapacita grafické paměti pro nekomprimované (nebo neoptimálně komprimované) textury, neměli někteří vývojáři důvod pracovat s novějšími režimy. Dále ale proto, že BC6 a BC7 nejsou podporované DirectX 10 (či starším) hardwarem. Mnozí vývojáři přitom měli důvod, aby jejich hra běhala i na starém hardwaru (a zároveň nechtěli přikládat dvoje textury - jedny pro starý a druhé pro nový hardware). Výsledkem je na jedné straně širší kompatibilita se staršími sestavami, na straně druhé méně efektivní využití nového hardwaru.

Podle Aaltonena je ale zlepšení jen otázkou času. Uživatelská základna DirectX 10 systémů se bude zmenšovat, počet DirectX 11.2-kompatibilních sestav, které umožní nasazení technologie Tiled Resources (umožňuje efektivní využití textur, které se celé ani nevejdou do paměti), naopak poroste. Technologie DirectX12 (async copy queues, async compute) zase sníží latence při přesunech textur. Aaltonen proto vidí budoucnost docela optimisticky a tvrdí, že čas stávající problémy vyřeší sám: „Doufejme, že tyto nové technologie zarazí brutální plýtvání s pamětí v leckterých PC hrách. Všechny, které jsme dosud viděli, by totiž bylo možné realizovat s použitím méně než 2 GB grafické paměti (dokonce i pro 4k), pokud by využití paměti bylo důsledně optimalizováno.“

Zdroje: 

Diskuse ke článku Vývojář: 2GB VRAM stačí i pro 4k, pokud se nekašle na kompresi textur

Pondělí, 22 Červen 2015 - 14:37 | Mali | Nechapu jednu vec. Programatori nevyuzivaji...
Sobota, 20 Červen 2015 - 17:14 | Antonín Lejsek | "Premature optimization is the root of all...
Středa, 17 Červen 2015 - 22:46 | mixal 11 | Dnesne kompilery vedia pri spravnom nastaveni...
Středa, 17 Červen 2015 - 22:41 | Haluz Haluz | Hodně za to může i Microsoft a jiní, kteří tvrdí...
Středa, 17 Červen 2015 - 22:34 | Haluz Haluz | To je nesmysl, SW se dá optimalizovat a pořád...
Středa, 17 Červen 2015 - 20:50 | Pjetro de | Jo na tom neco bude. Super-optimalizacia SW na HW...
Středa, 17 Červen 2015 - 19:25 | HKMaly | Samozrejme ze kdyz uz program obsahoval vsechny...
Středa, 17 Červen 2015 - 19:22 | HKMaly | Mensi binarku by urcite nemel, optimalizace na...
Středa, 17 Červen 2015 - 19:04 | sp c | Len ono je objektivne coraz tazsie vobec...
Středa, 17 Červen 2015 - 17:02 | mixal 11 | Zaujimave pri tom je, ze mame stale lepsie...

Zobrazit diskusi