Kolik videopaměti potřebují dnešní hry: Test ve 20 hrách! | Kapitola 3
Seznam kapitol
Otázka dostatečnosti kapacity videopaměti současných karet se začala intenzivně řešit s aférou týkající se „nestandardní“ paměťové konfigurace GeForce GTX 970. A jen chvíli poté se objevily zprávy o tom, že u první generace HBM u Radeonů R9 Fury X máme čekat „jen“ 4GB paměti. Ale bude to na dnešní hry stačit?
Co je uloženo v paměti grafiky?
Aby bylo možné hovořit o kapacitě grafické paměti, je nutno si v krátkosti říci, co se vlastně v paměti uchovává. Jako první musíme říci, že kapacita paměti není k dispozici nikdy celá. Měřením v tomto testu jsem zjistil, že při běžném provozu ve Windows, „sedí“ v paměti grafiky zhruba 30-300 MB dat. Však se klidně hned teď podívejte, jak máte obsazenu paměť na počítači. Stačí otevřít prohlížeč webu a v něm několik stránek a 300 MB zaplníte ihned. Několik MB (stovek) není ale nic významného, stále zbývá mnoho volného místa.
Největším „okupantem“ paměti grafické karty jsou textury, ty mohou v paměti zabírat i mnoho gigabajtů. Záleží na hře, nastavených detailech a optimalizaci tvůrců her. Většina her nahrává textury nekomprimované do paměti postupně, nepotřebné poté zahodí a nahraje nové. Jsou ale i hry, které uloží do paměti textury všechny, což není ideální, ale neovlivníme to. Potřebné textury pro aktuální scénu musí být v paměti celé, to nelze nijak obejít. S DirectX 12 se tato situace může změnit k lepšímu, záleží jen a jen na tvůrcích her (ostatně lépe jsme na tom měli být už s DirectX 11.2 a jejich podporou Tiled Resources). V tuto chvíli jsme stále v době DX10 a DX11. Na obrázku vidíte 8 GB textur (paměť obou karet) ve hře GTA V při rozlišení 2560 × 1440 s MSAA 4×.
Dále jsou v paměti uloženy další „buffery“, Z-buffer, color-buffer a další informace potřebné k vytvoření aktuální scény. Karta také do paměti ukládá data pro post-processing, teselaci, shadow maps, a spoustu dalších informací. Pokud ještě zvolíme vyhlazování (tradiční režimy FSAA, MSAA, CSAA atd.) narůstají nároky na renderování karty a potřebnou paměť i v násobcích! Nároky na paměť u stejné scény bez vyhlazování a s 8× MSAA jsou zhruba dvojnásobné.
A o něco méně významnou položkou ve videopaměti je ještě uložený snímkový buffer (frame buffer), což není nic jiného než kompletně vyrenderovaný snímek předtím, než jde na monitor. V paměti je uložena minimálně dvojice po sobě jdoucích snímků, v případě 4K UHD monitoru s MultiStream DP přepínačem vynásobme dvěma. Jeden snímek u rozlišení 3840× 2160 je velký zhruba 33 MB, násobením čtyři nám vychází 132 MB jen pro frame buffer. Čím více monitorů máme (Surround, Eyefinity) tím více bude muset být snímků uchováno v paměti. U teoretického Eyefinity ze tří 4K monitorů to může být až 400 MB jen pro aktuální frame buffer.