Vélemény: az erőforrások kreálása öli meg az új Batman játékot?

Még a héten írtunk a Batman: Arkham Knight című alkotás PC-s gondjairól, amelyeket részben sikerült visszavezetnünk a felhasznált middleware-ekre, de folytattuk az elemzést, és pár részletre ismét sikerült fényt deríteni. Szerencsére a játék beállításainak kényszerített átszerkesztésével letiltottunk annyi middleware-t, amennyit csak lehetett, így nem kaptunk valami szép grafikát, de kiszedtük a nehezen kezelhető részeket. Ettől a teljesítményt javult ugyan, de az időszakosan előkerülő akadások nem szűntek meg.

A működést vizsgálva viszont az akadások jellegében van rendszer. Jellemzően ugyanott történnek, de csakis úgy, hogy a programot folyamatosan újraindítjuk, és bejárjuk ugyanazt az útvonalat. Eltérő útvonalakat is teszteltünk és közelítve a problémás helyekhez az akadások is jöttek. A hiba jellegét megpróbáltuk kideríteni, de a Steam terméktámogatási rendszerén keresztül csak azt a választ kaptuk, hogy a program forgalmazását felfüggesztették, így várjuk meg az újrakiadást, vagy kérjünk pénzvisszatérítést. Ezekkel a lehetőségekkel mi is tisztában voltunk, és nyilván egy felhasználónak is elég ez az információ, de mi az okokra vagyunk kíváncsiak.

Sajnos a hivatalos csatornákon keresztül elég nagy a csend, de több, PC-s portolásban otthonosan mozgó fejlesztőtől is megtudtuk, hogy a hiba jellegét tekintve nem kizárható, hogy az erőforrások kreálása lehet a gond, amely PC-n amúgy is problémás szokott lenni. Mint ismeretes PC-n az elavult grafikus API-k miatt nagyon jellemző, hogy az erőforrások kreálása előre megtörténik, hogy azzal ne kelljen törődni betöltött jelenetsor futásakor. Ez borzalmasan nehéz a mai modell mellett, mert gyakorlatilag minden gyártó grafikus meghajtójára külön rá kell rászabni a rendszert, hogy a tényleges jelenetfuttatás mellett lehetőleg soha, vagy legalábbis minél kevesebbszer álljon le a munka hiányzó erőforrások miatt.


A hatodik perc környékén kezdődik a horror

Bizonyos komplexitásig ez járható út, de úgy néz ki, hogy a Batman: Arkham Knight annyira kinőtte a DirectX 11-et, hogy nem tudták – idő- vagy pénzhiány miatt – az erőforrások kreálását jól optimalizálni. A hiba mértékéből ítélve nagy az esélye annak, hogy a játék az erőforrások nagy részét futtatás közben kreálja, ami gyakorlatilag sokszor megakasztja a munkavégzést (akár hosszú ideig). Ez abból szempontból logikus, hogy a probléma mindig ugyanott áll fent és mindig az első indítás után, majd az adott területre vissza lehet térni gond nélkül.

Amennyiben ez a hiba, márpedig jelenleg minden jel erre mutat, akkor a javításra vonatkozóan két opció van. Az egyik az erőforrások kreálásán dolgozó rendszer teljes átírása, és esetlegesen a teljes pálya feldarabolása kisebb területekre. Ezzel a pályaszakaszok betöltésekor létrehozhatók a szükséges erőforrások, és a futtatás közben erre nem lesz szükség. A hátránya a koncepciónak, hogy extra töltőképernyők bevezetésével járhat, aminek a játékosok nem biztos, hogy örülnének. A másik opció egy alacsony szintű hardverelérést biztosító grafikus API használata, mivel ezzel a fejlesztők képesek lehetnek az erőforrásokat futtatási időben lényegében hatékonyan létrehozni, hasonlóan ahogy a konzolokon is csinálják, és nem kellene a gyártók meghajtóihoz komoly, egyedi optimalizálásokat írni. Ennek a hátránya, hogy szabványos szinten csak a DirectX 12 lesz elérhető egy hónap múlva, ami ugyan jó alap a probléma megoldására, de a Windows 10-hez kötné a program futtathatóságát. Persze tekintve azt, hogy Windows 7-ről és 8.1-ről ingyen lehet váltani, ezt még be is vállalhatják, valószínűleg a teljes iparág köszönetet mondana nekik. Nem mellesleg ez az opció lényegesen olcsóbb, mert kiszámíthatóbbá teszi a hibakeresést és a javítást, illetve ennek következtében jóval gyorsabban elkészülhet az újrakiadás is.

Hivatalosan a kiadó ugyan nem erősítette meg, de úgy tudjuk, hogy az újra kiadásra kerülő verzió támogatni fogja a DirectX 11-et, de mellé egy alacsony szintű hardverelérést biztosító grafikus API is bekerül, hogy elérhető legyen a nagyobb teljesítményszint is.

Érdekesség, hogy több fejlesztő szerint a Batman: Arkham Knight problémája nem egyedi, ami meglepő, hiszen hasonlót azért mégiscsak ritkán tapasztalhatunk. Viszont szinte mindegyik játék fejlesztése során előkerülnek hasonló gondok, csak a kiadásig ezeket valahogy kezelni kell. Ugyanakkor ez valóban nagyon drága, és a PC-s portolás költsége sokkal alacsonyabb lehetne, ha nem kellene a DirectX 11 elavult működéséhez igazodni, mivel az nagyon sok módosítást igényel a kódban. Például a DirectX 12-re való áttéréssel nem csak sokkal olcsóbb lehetne a portolás, hanem kiszámíthatóbb lenne a várható teljesítmény is, és hasonló hibák nem fordulhatnának elő, mert a grafikus kernel meghajtó megszűnése által leegyszerűsödik a teljes rendszer átláthatósága és ezzel az optimalizálhatósága.

Azóta történt

Előzmények

Hirdetés