Nvidia | SSD | DirectX

Proč současné hry neumí využít rychlé SSD a co se na tom díky konzolím změní?

  • Hry jsou stále ještě optimalizované pro běh na HDD, takže SSD jim nepřinesou takovou výhodu
  • PlayStation 5, Xbox Series S|X to ale změní
  • Stejná technologie brzy zamíří i do PC

Nové herní konzole si ze světa PC půjčí rendering ve vyšším rozlišení, vyšší snímkové frekvence, ray tracing nebo lepší prostorový zvuk. V jednom případě ale PS5 i Xbox Series S|X budou pionýry, na které se budou zpětně dotahovat počítače. Mluvíme o práci s rychlými SSD.

Na PC jsou papírově velmi rychlá úložiště, ale hry s nimi moc dobře neškálují. Když SSD připojené starším rozhraním SATA se sekvenčním čtením 500 MB/s nahradíme za moderní PCIe NVMe, které dosahuje klidně desetinásobku této hodnoty, časy pro spuštění her, načítání úrovní či map se rozhodně nezkrátí desetinásobně, nezmizí ani nepříjemné doskakování textur či celých objektů. Tuto slabinu ale konzole nové generace chtějí vyřešit a stejná technologie míří také na PC.

Jmenuje se DirectStorage a její první oznámenou implementací je RTX IO na kartách od Nvidie. Kalifornská společnost o ní mluvila v souvislosti s novými čipy rodiny Ampere, firma ale posléze potvrdila, že dorazí i na současné karty Turing. Kromě GeForce RTX 3000 se tak objeví i na RTX (a možná i GTX) 2000. Dva roky staré grafiky tak při zpětném pohledu byly značně „future-proof“, neboť podporují také všechny nové funkce DirectX 12 Ultimate.

V čem je DirectStorage tak důležitý? Umožní GPU rovnou přistupovat k datům SSD, aniž by nejdřív musela projít přes systémovou RAM a procesor. (Přes něj fakticky běží, protože obstarává PCIe linky, ale nebude zatěžovat jeho výpočetní jednotky.)

Dosavadní cesta byla složitější. CPU načetl data z SSD do RAM a následně je z RAM posílal do GPU. Pokud by se data ještě komprimovala, cesta by se o dva kroky prodloužila, neboť by CPU načetl komprimované soubory do RAM, odtamtud je přečetl, dekomprimoval, uložil zpět a poslal do GPU. Taková data by navíc byla až dvakrát větší, čím se zase zvyšuje zátěž všech sběrnic, roste režie na straně CPU, a ještě se procesoru ubírá výkon na „rozbalování“. Kvůli zaměstnanému CPU se pak snižují či kolísají renderované snímky za sekundu.

 

Microsoft k přínosu DirectStorage

„Stávající konzole jsme dimenzovali na disky s rychlostí 50 MB/s, takže 64kB bloky (například jeden soubor s texturou) zatížily procesor jen stovkami I/O požadavky za sekundu. Rychlá SSD jako v novém Xboxu zvládnou 2,4 GB/s a procesor by musel řídit přes 30 000 I/O požadavků. To by znamenalo příliš velkou režii CPU a ztráty výkonu.“

 

Díky DirectStorage si GPU načte komprimovaná data rovnou z SSD a do své videopaměti je pošle již v dekomprimované podobě, zatímco CPU se věnuje jiným činnostem. Podle Nvidie se celková propustnost paměťového subsystému zvýší až stonásobně, přičemž zátěž CPU bude dvacetkrát nižší.

Konzole mají pro dekompresi i režii I/O operací zvláštní koprocesor, avšak grafické karty od Nvidie – zdá se – nikoliv. Datové toky i dekompresi tak zajistí stream procesory (cuda jádra), které by to ale měly zvládnout mnohem efektivněji než CPU, aniž by se to nějak výrazně projevilo na sníženém grafickém výkonu.

Na reálné výsledky si ale budeme muset ještě počkat, DirectStorage a RTX IO do Windows 10 zamíří až příští rok. A možná ještě dlouho potrvá, než nové rozhraní využijí herní enginy a potažmo hry. Přínos tak nebude automaticky dostupný u všech starších titulů, vývojáři by museli zajistit zvláštní podporu.

Možné problémy

A je otázkou, jak rychle se rozšíří do nových her. Zatímco u konzolí totiž rychlé SSD a nové datové rozhraní budou dostupné vždy, na počítačích je příliš velká variabilita konfigurací a vývojáři nebudou chtít riskovat, že nové hry nebudou fungovat na starém železe. Takže budou muset dělat věci jako doposud a „next-gen“ funkce nechat volitelné podobně jako třeba ray tracing.

Je zde však ještě jeden zádrhel. Tvůrci her i konzolí se chvástají, jak nová generace zruší všechny načítací obrazovky nebo do her vložené tunely/chodby/výtahy, které mají uživatele dostatečně zdržet, aby se na pozadí stihla načíst data. Hry nové generace tak v praxi změní i level design. Jenže co udělá hra na starším počítači, který nebude stíhat načítat data tak rychle? Zase bude třeba hráče nějak zdržet nebo mu natvrdo předhodit loadovací obrazovku.

Doposud vývoj her (po vizuální stránce) brzdily konzole. V tomto případě ale koulí u nohou budou počítače.

Každopádně ještě neznáme ani všechny podmínky, za kterých budou DirectStorage fungovat na PC. Nvidia například naznačuje, že pro RTX IO budou zapotřebí SSD připojená přes PCIe 4.0. K tomu by ale reálně nemusel být důvod, protože nové Xboxy sice PCIe 4.0 také používají, avšak SSD jsou připojeny jen dvěma linkami s propustností 4 GB/s. To však zvládnou i běžnější SSD s PCIe 3.0 ×4.

Na jiném místě zase Nvidia mluví o podpoře Turingu, ale později píše o kartách RTX. Znamená to, že GeForce GTX 1650, GTX 1660 a jejich odvozeniny mají smůlu? Teoreticky jde jen o softwarovou funkci řízenou na úrovni ovladačů, takže podporu karet GTX a SSD pro PCIe 3.0 možná nemusíme hned vylučovat. To ale ukáže až čas…

Zdroj: Nvidia, Microsoft, TPU

Diskuze (24) Další článek: Zásoby GeForce RTX 3080 se po světě vyprodaly během pár sekund. Dostalo se jen na pár šťastných

Témata článku: , , , , , , , , , , , , , , , , , , , , , , ,