DirectStorage bude zásadní technologická inovace, která posune možnosti her. Proč?
Současné hry (a obecně mnohý SW) trestuhodně plýtvají výkonem našich PC a nevyužívají optimálně výkon ani výbavu současných CPU, GPU ale třeba i disků. Víte dobře, že například u procesorů jen málokterá hra využívá skutečného výkonu multijádrových čipů, že v praxi většinou máte se 6jádrovým CPU „stejný herní výkon“ vyjádřený ve FPS jako s procesorem s násobkem jader a tedy logicky mnohem vyšším výkonem. Přitom nic jako herní výkon CPU neexistuje, je jen obecně výkon CPU a to, jak moc dobře a kolik ho daná hra využívá. Že má třeba RYZEN 5 5600X v mnoha hrách prakticky „stejný výkon vyjádřený FPS“ než RYZEN ThreadRipper s 32 jádry, neznamená že jde o stejně výkonné CPU.
Velkou brzdou je dnes i využívání GPU, kdy mnoho her má stále stará API apod. Ale na tomto poli se hodně pracuje, kdy nejnovější DX12 Ultimate a API VULKAN jsou zásadně lepší ve využívání zdrojů. AMD/NVIDIA i Intel se pak snaží o efektivnější využití výkonu GPU prostřednictvím technologií jako FSR, DLSS nebo XeSS. Jednou z oblastí kde je velký prostor pro zlepšení, je obecně práce s pamětí a disky.
Asi víte, že když si dnes koupíte superrychlé SSD třeba se 7000MB/s, tak v praxi stěží poznáte rozdíl ve hrách proti SATA SSD. Největší rozdíl je proti HDD, a to u načítání her. Problémem je obecně práce s daty, kdy do současnosti bylo běžné, že data chodí zbytečně složitou cestou a čeká se na jejich zpracování. Znatelným zlepšením je v tomto případě technologie jako AMD Smart Access Memory postavená na Microsoft Resizable BAR, která umožňuje procesoru plný přístup k celé grafické paměti a tím výrazně snížit čas na zpracování určitých dat. V praxi, kdy je to dnes nejlépe implementováno u AMD ZEN 3 + RDNA 2 systémů, je běžně +15% nárůst výkonu s aktivním SAM a to se s tím teprve vývojáři učí a většina her pro to není udělaná.
Ještě zajímavější přínos bude mít technologie, která dává GPU možnost přímějšího přístupu k datům na úložišti, tedy dnes na SSD. V tuto chvíli, hodně jednoduše řečeno“ výměna dat probíhá neefektivně, kdy na relativně rychlém SSD jsou uložena data určená pro GPU, která ale jdou částečně i přes CPU, což brzdí výkon atd. technologie jako Microsoft DirectStorage tohle mění.
DirectStorage API oficiálně funkční na Windows 10 i 11
Stávající generace konzolí již podobnou technologii používají, nyní oficiálně přichází funkční i na PC Windows platformu. Zjednodušeně řečeno umožňuje přímější komunikaci mezi GPU (a jeho pamětí) s daty na SSD a do značné míry se tak „obchází“ CPU. Proč je to zajímavé a zásadní pro hry?
Asi víte, že současné hry využívají stále většího množství dat. Ty detailní otevřené světy jsou datově obrovsky náročné. Jenže grafické karty mají samozřejmě omezené množství paměti. Velká část aktuálně potřebných dat se tak uchovává na SSD s tím, že se načítají, až když jsou potřeba, což ale trvá „relativně“ dlouho. Díky tomu tak herní tvůrci musí dělat určité aspekty svých her tak, aby to před zraky hráčů schovali. Vedle klasických nahrávacích obrazovek, jsou tak oblíbeným trikem třeba výtahy, průlezy apod. během nich se právě nahrávají z disků do paměti GPU data nové lokace apod. S technologií DirectStorage bude tohle o poznání rychlejší a jednodušší.
Jednoduše to tak umožní dělat velké herní světy ještě větší a bez nahrávacích obrazovek. Omezit se také mohou propady FPS, když toho bude na obrazovce hodně, třeba vyrobíte hodně předmětů apod. Výměna dat mezi GPU a jeho pamětí a velkým uložištěm na SSD bude mnohem rychlejší než do současnosti. Že to v praxi funguje víme už z konzolí, kde podobné technologie už jsou. Nicméně nyní oficiálně fungují i na Windows a první hrou která to aktuálně předvedla je chystaný Forspoken:
Tvůrci demonstrovali výrazně rychlejší načítání dat v kombinaci s výrazně nižší zátěží pro CPU. Funguje to nejen s NVMe SSD, které MS preferuje, ale také se SATA HDD a SATA SSD. Vedle obrovského rozdílu proti HDD, je tu i slušný rozdíl proti pomalejším SSD. DirectStorage znamená opravdu zásadní inovaci a zlepšení, která se znatelně projeví i v designu her. Osobně očekávám poměrně rychlé rozšíření, speciálně u novějších her a herních engine, protože přínosy jsou naprosto zásadní. Navíc protože tvůrci her již podobné technologie používají u konzolových portů, lze očekávat poměrně rychlé nasazení i u PC.
Microsoft přitom DirectStorage na Windows zpřístupnil vývojářům teprve před týdnem, takže fakt že už někteří mají ukázky je slibný začátek. Je nutné říci, že hra a její herní engine musí být na tuhle technologii přímo udělána, v případě již vydaných her by to vyžadovalo opravdu zásadní technickou předělávku engine, takže zpětná implementace se asi nedá moc očekávat – jakkoliv by z toho některé hry mohli hodně těžit (Fallout, Skyrim apod.). Ale u nových her, právě jako je prezentovaný FORSPOKEN, které mají čas vše implementovat a které byly dokonce přímo vyvíjeny s ohledem na dostupnost a používání podobných technologií, je to samozřejmě o něčem jiném.
Osobně tak očekávám, že mnoho nových her s novými engine bude DirectStorage používat, a to tak bude mít zásadní dopad na to, jak hry běhají a fungují i herní prvky samotné. Současně také uvidíme konečně větší smysl u opravdu rychlých SSD, kde bude měřitelný výkonový přínos díky téměř instantnímu načtení velkého množství dat apod.
Normálně každou půlhodinku ti tam s pětiminutovým odpočtem naskočí obrazovka s in-game tipy a k tomu doporučení, ať se jdeš projít, nadejchat čerstvého vzduchu, napít, na záchod a tak
Můžeš být v klidu. Na Xbox už je to použito, viz článek, a časy načítání některých her jsou více jak 2 minuty. Takže ono to zrychlení zase tak žhavé nebude.
Že má třeba RYZEN 5 5600X v mnoha hrách prakticky „stejný výkon vyjádřený FPS“ než RYZEN ThreadRipper s 32 jádry, neznamená že jde o stejně výkonné CPU.
Co tím chtěl autor říci, že s Direct Storage konečně 32 jádrový Threadripper využiji/budu potřebovat? Prosím důkaz, konkrétní měření nebo vysvětlení toho kontextu mezi direct storage a 32core threadriperrem. Bez něj dále tvrdím, že na hry ho nepotřebujete a ano FPS jsou stejná jako na 5600X a to i s direct storage, který jako takový je fajn. Jen by mě zajímalo jestli mě bude fungovat i na SW raidu0 dvou nvme SSDček na x4 pcie3.0 linkách chipsetu B550 (AMD driver) nebo ne a funguje jen na samostatných.
Přemýšlejte proč je srovnáváno SATA SSD s direct storage? Proč ne rychlé pcie4.0 nvme SSD win32 vs direct storage? Protože rozdíl by byl zandedbatelný. A co teprve Raid0 dvou pcie4.0 SSD vs 1x nvme direct storage? Nabízí se odpověď že rozdíl by byl buď žádný anebo by to raid dokonce vyhrál a teda celá slavná direct storage by pak nevyšla ze srovnání mocnpěkně
Já bych mírnil nadšení. Zrychlení tam je a to je dobře. Jak velké ale, to bude vždy záležet na vývojářích.
A když se podíváme, s jakou rychlostí se implementuje DX12/Vulkan...