Hirdetés

Vélemény: részrehajló-e a 3DMark Time Spy?

A teszt aszinkron compute módját a megjelenés óta erős támadások érik.

Az elmúlt hét vége felé futott be az új 3DMark teszt, amely a Time Spy nevet viseli, és már a DirectX 12 API-hoz készült. A fontosabb részleteket a linkelt hírben írtuk meg, de a teszt megjelenését némileg beárnyékolja, hogy a felhasználók egy csoportja részrehajlással vádolja a fejlesztőket. Nevezetesen az aszinkron compute funkcióról van szó, amely egy hangos kisebbség szerint az NVIDIA ajánlásainak megfelelően íródott, és próbálják bizonyítani, hogy a játékok ezt az eljárást máshogy használják.

Az aszinkron compute-ra az új 3DMark kapcsán mi is kitértünk, és le is írtuk, hogy a Time Spy valóban nem úgy használja ezt a funkciót, ahogy azt eddig a DirectX 12 vagy Vulkan API-t játékoktól megszokhattuk. Ettől azonban a program még nem lesz részrehajló. Az elmúlt években már kiderülhetett, hogy a 3DMark igazából pont olyan program, mint a többi. Egyáltalán nem képes megjósolni az erősorrendet, és erre talán már nem is törekszik. Manapság annyira eltérő módokon lehet leképezőt írni, hogy képtelenség egyetlen teszttel egy teljesen átfogó képet biztosítani. Természetesen meg lehet nézni az egyes hardverekhez és konfigurációkhoz tartozó pontszámot, de az nem sokat ér, ha egy adott játék gyökeresen eltérő leképezőt használ a grafika megjelenítésére.

A vádak megfogalmazása helyett, vagy inkább előtte, most is érdemes racionálisan átgondolni, hogy mi történik. Azt tudni kell az új explicit API-król, hogy az ideális működésükhöz az AMD, az Intel és az NVIDIA is azt ajánlja a fejlesztőknek, hogy készítsenek gyártóspecifikus kódutakat. Nyilván ezt sokan nem tartják be, de ettől még egyértelmű, hogy így lehet az egyes hardvereket a legjobban kihasználni. Egy tesztprogram azonban nem tartalmazhat ilyet, ugyanis akkor nem ugyanaz a kód futna az összes hardveren. Emiatt a FutureMark dolga a fejlesztésnél jóval bonyolultabb, mert a gyártók és a Microsoft ajánlásaiból össze kell állítani egy olyan alapot, ami tulajdonképpen jól fut minden hardveren. Ez ugyanakkor egyáltalán nem könnyű feladat egy olyan teljesítménykritikus alkalmazásnál, amilyen egy tesztprogram. Bizonyos tekintetben a FutureMark fejlesztői jóval több időt szántak, illetve szánnak az igényeiknek megfelelő leképező kialakítására, mint egy játékfejlesztő.

Utóbbi okozza a legfőbb különbséget a tesztprogramok és a játékok között, ugyanis amíg a FutureMark számára egy abszolút hiteles, részrehajlás nélküli szabványos kód biztosítása a cél, addig egy játékfejlesztő akár be is tarthatja az AMD, az Intel és az NVIDIA ajánlásait, és minden gyártónak tervezhet némileg eltérő kódutat, akár nem szabványos eljárásokkal is. Ez még gyorsabban is megvan, mintha a FutureMark modelljét követnék, és a mai világban az idő bizony pénz.

A fentiek mellett érdemes azt is kiemelni, hogy a gyártói ajánlások között esetenként lényeges különbség is lehet, mivel nem mindegyik cég hardverére illik ugyanolyan jól a DirectX 12. Például a bekötési modell tekintetében a Microsoft azt javasolja, hogy a futószalagon belüli erőforrásokat definiáló root signature-ben ne legyen konstans, SRV, UAV és CBV. Ezt ajánlja az AMD és az Intel is, ugyanakkor az NVIDIA ennek pont az ellentettjét javasolja. Ez már egy olyan radikális különbség, amire nagyon nehéz jól reagálni. Egy játékfejlesztő számára célszerű gyártóspecifikus optimalizálás a bekötési modellre vonatkozóan, hiszen az időben nem sok munka, a végeredmény tekintetében viszont sokat jelenthet. Nem beszélve arról, hogy sokkal körülményesebb lenne megírni egy olyan általános kódot, ami az összes gyártó számára tökéletesen megfelel. Ugyanakkor egy tesztprogramnál célszerű az NVIDIA ajánlásait követni, mert igazából az AMD és az Intel hardvereinek ez a modell is teljesen megfelel, csupán az történik, hogy jóval korlátozottabb mértékben lehet használni az UAV-ket és az SRV-ket. Ehhez viszont relatíve egyszerű igazodni, hiszen a tesztprogram nem érkezik konzolra, így teljesen a PC-s igényeknek megfelelően lehet tervezni.

Az aszinkron compute is csak a fentiekhez hasonló módon lett bevetve, kínosan ügyelve arra, hogy az igazából az összes érintett gyártó számára jó legyen. És az valóban igaz, hogy a játékokban ezekhez hasonló modellekkel nem találkoztunk, illetve várhatóan nem is fogunk találkozni, mivel a konzolra írt kód nagymértékben meghatározza a PC-s portot is, de ettől a 3DMark Time Spy nem lesz részrehajló. Sőt, pont emiatt lesz hiteles tesztprogram, amellett persze, hogy az eredményeit nem lehet majd levetíteni a játékokra.

Azóta történt

Előzmények

Hirdetés