Játéktesztelésről általánosságban
Vizsgálatainkhoz használandó játékaink összeválogatása érzékeny téma, mert szükséges, hogy összehasonlíthatók legyenek régebbi tesztjeinkkel az eredmények, így ugyanazokkal a játékokkal célszerű végigmérni az újabb tesztalanyokat is. Ha azonban a változtatás mellett döntünk, mert haladni kell a korral, akkor amennyire lehetséges, az összes olyan hardvert újra kell mérni, amelyek később még bekerülhetnek a tesztekbe.
A processzorok és az alaplapok tesztelésénél kulcsfontosságú az olyan játékok alkalmazása, ahol kimutathatóak a processzorok közötti különbségek, illetve minden esetben lényeges, hogy meg kell találni a tesztelés ideális módját, reprodukálhatóan, lehetőleg az emberi tényező kizárásával.
Hirdetés
Az átlag és a minimum fps meghatározása
A következő táblázat azt foglalja össze, hogy a jelenlegi játékainkkal milyen teendőink vannak a tesztelés során, amivel sikerül kinyerni a hőn áhított fps-eket:
API | Tesztelés módja | Tesztelő feladata(i) | Eredmények kiolvasása | |
Doom | Vulkan | OCAT vagy PresentMon | A segédprogram indítása abban a pillanatban, amint megkapjuk az irányítást | Konverzió, majd kiértékelés |
Dota 2 | Benchmark, hősdemó meghatározott lépésekkel | Demó betöltése, konzolparancsok beírása, a hős képességeinek "kimaxolása", toronytámadás fixen ugyanarról a helyről, eredmények mentése | A játék konzoljából is kiolvasható, de állományba is menthető a teszteredmény | |
Dota 2 | DirectX 11 | |||
Prey | OCAT vagy PresentMon | A segédprogram indítása abban a pillanatban, amint megkapjuk az irányítást | Konverzió, majd kiértékelés | |
Rise of the Tomb Raider | DirectX 12 | Benchmark | Csak a futtatás | Közvetlenül a játékból |
Ashes of the Singularity: Escalation | Benchmark | Csak a futtatás | Konverzió, majd kiértékelés |
Amire rá szeretnénk világítani, hogy bár a processzor- és alaplaptesztek nem annyira építenek a játékokban mért teljesítményre, de ritka az a szerencsés helyzet, hogy benchmarkot futtatunk és lejegyezzük monitorról az eredményét. Felvetődik a kérdés, hogyan járunk el a kevésbé optimális programok esetében, amikor lényegében képkockánkénti eseményeket rögzítünk, majd ebből határozzuk meg két mérőszámunkat.
Egy kis elmélet
Amennyiben egy program nem biztosítja számunkra a feldolgozható eredményeket, akkor azt nekünk kell előállítani. Ez a megfelelő alkalmazás bevetésével nem túl nehéz, mivel a képszámítás lépései naplózhatók. A játékok futtatása közben csak be kell vetni a naplózást biztosító programok egyikét, amely generál egy kimenetet (ez legtöbbször egy csv állomány), amiben képkockánként előálló sorokkal (rekordokkal) találkozunk. Ezek a programok sok mindent mérnek, de számunkra igazából az az érték érdekes, ami a képkockák elkészültének idejére vonatkozik, jellemzően milliszekundumban mérve, amiből egyszerűen számolható az fps.
Példánkban most a PresentMon kimenetén keresztül mutatjuk be az utófeldolgozást. Szemléltetésként egy 4 GHz-es órajelen üzemelő AMD Ryzen Threadripper 1920X-es processzor Doom közben rögzített teljesítményét használjuk fel. A kimenetnek az MsBetweenPresents oszlopának adatait vesszük alapul, amit egyszerű átlagolni. Ebből még diagramot is készíthetünk a jobb láthatóság kedvéért, amiben jelen esetben ábrázoltuk az átlagot is.
Pillanatnyi, illetve átlag-fps ábrázolása a PresentMon kimenete alapján [+]
A diagramból látszik, hogy vannak benne tüskeszerű minimumértékek, de a játékban nyújtott teljesítménybe egyéb tényezők is közrejátszhatnak, amelyek esetleg egy hosszabb ideig számolt képkockát eredményeznek. Ezt sajnos nem feltétlenül a tesztelni kívánt hardver okozza, tehát bőven lehet, hogy csupán az adott mérésben fordult elő. Erre az esetre találtuk ki azt, hogy a minimumérték 110%-át nézve legalább 10 mérési eredményt feleltetünk meg ennek az értéknek. Ez mindig elég szigorú a minimumot tekintve, de jobban reprezentálja a valós játékteljesítmény minimumát, nagyrészt kizárva a nem kívánatos eseményekből eredő extrém értékeket. Ennek meghatározásához növekvő sorrendbe rendezzük mérési eredményeinket, majd ábrázoljuk azokat.
Pillanatnyi, illetve átlag-fps ábrázolása a Presentmon kimenete alapján, rendezve [+]
Már közelebb vagyunk a valósághoz; ebben a diagramban 150 fps környékén látszik "törés", de a nagy számosság miatt még nem lehet precíz értéket meghatározni. Ebben lesznek segítségünkre a rendezett fps-einken a további műveleteket bemutató diagramok, amelyekkel az előfordulást jelenítjük meg az első 79 sorra nézve, mivel ebben biztosan benne lesz a keresett minimumérték.
Az fps-minimumok előfordulási függvényei [+]
A függvényekből látszik, hogy a rendezett halmazunkban a kérdéses minimumunkat (amely legalább tízszer fordul elő) az ötödik sorban találjuk meg. Ebben az esetben 153,069 fps-t kapunk, míg átlagunk 197,0114 fps.
Részlet a munkafájlból
A cikk még nem ért véget, kérlek, lapozz!