Memóriafaló lesz a Forspoken?

Ennek nagyrészt a DirectStorage API az oka, de végeredményben előnyös változásról van szó.

A Square Enix nemrég nyilvánosságra hozta a Forspoken című játék gépigényét, amely PC-n elsőként támogatja majd a Microsoft új, DirectStorage API-ját. Az adatok általánosan nem tűnnek félelmetesnek, de egy dologra mindenképpen fel lehet figyelni, mégpedig memóriaigényre, az ugyanis meglehetősen magas a rendszermemóriát, illetve a VRAM-ot tekintve is.

A Forspoken minimum 16 GB RAM-ot és 6 GB VRAM-ot igényel, de maximális részletességhez már 32 GB RAM és 16 GB VRAM szükséges a fejlesztők szerint. Mivel a DirectStorage miatt egy újfajta megközelítésű rendszerről van szó, így utánakérdeztünk, hogy mi változik az új lehetőségekkel a korábbiakhoz viszonyítva.

A teljes rendszer funkcionális működését tekintve elég sok dolog más lesz a Microsoft új API-jával. A korábbi lehetőségeket tekintve a fejlesztők nagyon kötött határok között mozoghattak, mert nem volt ideális a jellemzően kódolt adatok gyors elérése. Emiatt a grafikai beállításokat tipikusan rászabták az elterjedt VRAM kapacitásokhoz, tehát egy játék már eleve úgy volt paraméterezve, hogy az egyes részlegességi szintek VRAM-igénye beleférjen egy fix kapacitásba, például 6, 8, 10, 12, 16 GB-ba. Ennek azért volt jelentősége, mert a PC-s rendszerek működése nagyon korlátozott volt, így ha egy VGA-n nem volt több VRAM például 12 GB-nál, akkor 13-14 GB-nyi adatmennyiség kényszerű betöltése nagyon erőteljes akadozást váltott ki, gyakorlatilag 5-10 képkocka/másodpercre csökkentve a sebességet. Egyszerűen a GPU folyamatosan adatra várt, ami nem tette optimálissá a feldolgozást.

Persze ez a módszer jó volt sokáig, hiszen lehetett igazodni a jellemző memóriakonfigurációkhoz, de közel sem tekinthetünk rá tökéletesként. A DirectStorage API sok szempontból hoz változást, és megtudtuk, hogy tipikusan olyan eltérésekről van szó, amelyek tulajdonképpen szükségtelenné teszik a korábban sűrűn alkalmazott, kötött határokra való optimalizálást. Innentől kezdve nem gond, ha az egyes grafikai beállítások nincsenek például 6, 8, 10, 12, 16 GB-os VRAM kapacitásra szabva, mert akkor sem fog összeomlani a sebesség, ha egy 12 GB-os VGA-n 13-14 GB-nyi adatmennyiség betöltésére van szükség. Maga az API jellege biztosítja azt, hogy ez ne történhessen meg.

A DirectStorage tehát egyrészt lehetővé teszi az extrém gyors programbetöltést, de emellett még biztosítja azt is, hogy a VGA fizikailag elérhető VRAM kapacitása ne legyen rendkívül korlátozó, azt nyugodtan túl lehessen lépni esetlegesen pár gigabájttal. Ezek az előnyök ugyanakkor nem csak a semmiből teremnek meg, jönnek amolyan hátrányok is velük, amelyeket korábban nem tapasztalhatott a felhasználó, és a szóban forgó API-val kapcsolatos marketing sem nagyon hangoztatta őket.

Azzal, hogy a DirectStorage nem csak a CPU-n, hanem a GPU-n is lehetővé teszi a tartalmak kikódolását sok dolog megváltozik az adott program feldolgozását tekintve. Egyrészt a processzoridő szabadul fel, mert már nem csak a CPU viseli a kikódolás munkafolyamatának terhét, hanem a GPU is. Az programfüggő lesz, hogy milyen arányú munkamegosztást érdemes alkalmazni a két részegység között, de az eddigi tapasztalatok alapján az a jó, ha se a CPU, se a GPU nem kap túl sok feladatot, sokkal inkább egy optimális egyensúlyra érdemes törekedni. Ugyanakkor tényleg kihangsúlyozandó, hogy program válogatja majd a balansz határait.

Nagyon fontos ugyanakkor a GPU-k esetében a kikódolás működése, ahhoz ugyanis, hogy ez megtörténjen a kódolt tartalmat is a VRAM-ba kell helyezni. Vagyis egy bizonyos ideig az adott tartalom kódolt és kikódolt formátuma is foglalja a helyet. A jó hír, hogy ha utóbbi megvan, akkor előbbire már nincs szükség, de az optimális működés érdekében a textúrák valós idejű betöltése bonyolultabb lesz, mint korábban. Az eddigi tapasztalatok szerint elég jól működik az a modell, ahol maga a streaming többszintű, vagyis a kikódolt tartalom kódolt változata törölve lesz a VRAM-ból, és marad a rendszermemóriában, de eközben a potenciálisan szükséges tartalmak kódolt változatát előre be lehet tölteni a VRAM-ba. Ezek kikódolás nem feltétlenül szükséges azonnal, lehet várni is vele, sőt, az is előfordulhat, hogy a játékos mégse arra vette az irányt, amerre úgy tűnt, hogy megy, és ilyenkor a kódolt tartalmak felhasználás nélkül cserélhetők más kódolt adatokra. Ennek a módszernek az előnye, hogy a kódolt információ fizikailag kevesebb helyet foglal, így sokkal több tölthető be egyszerre belőle, a felhasználhatóság pedig attól függ, hogy szükség van-e az adott adatra. És mindez összességében optimálisabb VRAM-használatot tesz lehetővé.

Az előző bekezdésben taglalt működésnek azonban van egy hátránya. Innentől kezdve a VGA-n a VRAM kapacitása döntően meghatározhatja az adott VGA átlagteljesítményét. Ennek az oka az, hogy minél kevesebb a VRAM, annál erőteljesebb a kódolt tartalmak streamingje, majd ezek kikódolása. Ugyanakkor az utóbbi műveletet a GPU végzi el valós időben, és minél több ilyen kikódolási feladat van, annál kevesebb szabad feldolgozót jut a klasszikus leképezéssel kapcsolatos munkákra.

A fentiek elméletben bonyolultnak tűnnek, de a gyakorlatban nagyjából úgy fognak lecsapódni, hogy amíg régebben például egy adott cím maximális textúrabeállításához kellett egy fix VRAM-kapacitás, hogy ne legyen diavetítés az élmény, addig az új modellnél ilyen nem fordulhat elő. Akár 8 GB VRAM-mal is meg lehet majd próbálkozni a legmagasabb textúrarészletességgel, de több lesz a kikódolással járó munka, ami a leképezés sebességét csökkenti, viszont nem jelent majd használhatatlan akadozást, ahogy korábban. Effektíve innentől kezdve egy adott VGA-n a több VRAM nem azt jelenti majd a vásárló számára, hogy nagyobb textúrabeállítást használhat, hanem azt, hogy kevesebb kikódolással járó munkafolyamat lesz, így több feldolgozó marad a GPU-n belül a valós grafikai számításokra. A több VRAM tehát innentől kezdve nagyobb átlagsebességet kínál majd.

A Forspoken gépigénye éppen emiatt furcsa maximális részletességnél, ugyanis a vörös oldalon AMD Radeon RX 6800 XT-t, míg a zöldek portáján NVIDIA GeForce RTX 4080-at ajánl. De a DirectStorage miatt nem a hardverek nyers teljesítménye a döntő itt, hanem az, hogy ezeken van minimum 16 GB-nyi VRAM, és ekkora mennyiséggel van annyira visszafogott kikódolással járó munkafolyamat, hogy a GPU feldolgozóinak nagy része befogható valós grafikai számításra. Ez pedig végeredményben nyers sebességet ad. Megtudtuk azt is, hogy 20 vagy 24 GB VRAM-mal rendelkező VGA-kon tovább skálázódik a teljesítmény, mert még kevesebb lesz a tartalomkikódolás, így még több multiprocesszor dolgozhat a grafikai számításokon. Ugyanakkor ennyire sok VRAM már nem szükségszerű a maximális részlegesség jó sebességű megjelenítéséhez, de némi előnyt biztosan ad.

Információink szerint a Square Enix a gyártókat is értesítette a DirectStorage API-val kapcsolatos tapasztalatairól, így az AMD, az NVIDIA és az Intel is tud róla, hogy a Microsoft új rendszerével a több VRAM nagyobb átlagsebességhez vezet. Az aktuális VGA-kat ehhez már nem lehet hozzáigazítani, de a jövőben érkező hardvereket ennek tudatában tervezhetik.

Előzmények

Hirdetés