Vélemény: így kell értelmezni a 3DMark API Overhead tesztet

A 3DMark az elmúlt hónap végén mutatta be az API Overhead tesztet, amely a DirectX 11, a DirectX 12 és a Mantle API teljesítményét veti össze a különböző hardverekkel. Az új lehetőségektől csak úgy forrnak az IT fórumok, de sajnos nem feltétlenül érte el a teszt a célját, mivel leginkább összehasonlításra használják a felhasználók. A FutureMark hivatalosan nem ajánlja az eredmények összehasonlítását, ugyanakkor ezek valójában összehasonlíthatóak, csak megfelelően kell értelmezni a számokat. A legfőbb gond itt igazából, hogy a felhasználók csak a hardverhez tartozó számot látják meg, és így valóban nincs sok értelme az összevetésnek, de a teszt hátterét értelmezve már értékes adatokat lehet gyűjteni.

Az egyik legfontosabb szabály, hogy a processzor teljesítménye számít, így az összehasonlítást csak azonos CPU mellett érdemes elvégezni, ráadásul azonos API-val. Például a DirectX 11 teljesítménye főleg attól függ, hogy a grafikus meghajtó mennyi kernel szerver szálat enged futtatni. Ez egy érdekes kérdés, mivel ebből a szempontból az NVIDIA, az Intel és az AMD felfogása különbözik. Ennél a tesztnél az a jó, ha sok kernel szerver szál fut, mivel nincs szimuláció, így a teljes processzor csak a rajzolással törődhet. Játékban például ennek a fordítottja igaz, mivel a sok kernel szerver szál elveszi az elérhető processzoridőt magától a programtól, ami kevés processzormag esetén kellemetlen jelenségeket okozhat.

Hirdetés

Azt is fontos észben tartani, hogy a DirectX 12 nem skálázódik tovább 6 szálnál, míg mondjuk a Mantle 16 szálig is elvan. Előbbi egy szándékos limitáció, mivel a DirectX 12 aktuális verziója csak 6 szálig stabil, de ezen később javítanak majd az érintettek.

Ha azonos a processzor és a kiválasztott API is, akkor összehasonlíthatóvá vállnak a grafikus vezérlőkre vonatkozó eredmények, de itt is fontos pár adat ismerete. A teszt esetében a teljes rendszer három területen ütközhet limitációba. Egyrészt az API többletterhelése által okozott gond nyilvánvaló, de mivel feltételezzük, hogy azonos a processzor és a kiválasztott API, így ezt a limitációt nem érintjük. Maradt két lehetőség még, amelyek már grafikus vezérlőkre vonatkozó limiteket rejtenek.

Mivel maga a teszt compute és grafikai parancsokat is generál, illetve ezek aszinkron módban futnak, így limitáló tényezőként lépnek fel a parancsprocesszorok, valamint az aszinkron compute miatt az is számít, hogy hardver hogyan számolja a compute és grafikai feladatokat egymás mellett, azaz limitáló lehet a nyers számítási kapacitás, az architektúra hatékonysága, illetve a memória-sávszélesség.


(forrás: AnandTech) [+]

Az AnandTech tesztjéből ezek jól látható limitek. Most kifejezetten koncentráljunk a DirectX 12-re, és a fenti ábrán látható, hogy a Radeon R9 285 mennyivel gyorsabb a Radeon HD 7970-nél. Itt a parancsprocesszorok jelentik a legfőbb gondot, mivel a Radeon HD 7970 egy grafikai és két compute parancslistát támogat, míg a Radeon R9 285 az 1 grafikai mellett már 64 compute parancslistából fogadja az adatokat. Vagyis hiába nagyobb a Radeon HD 7970 nyers számítási teljesítménye, a relatíve kevés parancslista nem tudja aszinkron compute mellett jól etetni a hardvert.

A GeForce-ok oldalán a parancsprocesszorok nem jelentenek túl nagy limitet, de például az már korlátozza a teljesítményt, hogy ezek a hardverek sehogy sem, vagy gyenge hatásfokkal kezelik az aszinkron compute-ot, és főleg ez limitálja az NVIDIA termékeinek teljesítményét.


(forrás: AnandTech) [+]

Az IGP-k szempontjából a fenti ábrán látható az AMD Kaveri és az Intel Haswell kódnevű lapka. A Kaveri esetében a memória-sávszélesség limitál, mivel a nem tudja már kiszolgálni a parancsprocesszorok és az aszinkron compute szempontjából igen vadra tervezett integrált grafikus vezérlőt.

A Haswell IGP-jét egyértelműen a parancsprocesszora fogja vissza. Erre igazából számítani lehetett, hiszen az Intel koncepcióból arra törekszik, hogy az integrált grafikus vezérlő belső kihasználása mindig nagyon alacsony legyen, annak érdekében, hogy nagyon magasra lehessen állítani a turbó órajelet. Utóbbi kompenzálja a szándékosan gyengére tervezett parancsprocesszort is, ami relatíve jól működik az olyan programokban, ahol az Intel optimalizálásra vonatkozó ajánlásait figyelembe vették. Viszont maga az alapkoncepció, hogy a hardver kihasználása legyen nagyon alacsony, abszolút ellentétes azzal, amire a Microsoft a DirectX 12-t tervezte, és ez látszik azon, hogy a Haswell IGP-je mennyire kevés előnyt zsebel be az új API-ból.

Látható, hogy a 3DMark API Overhead teszt igazából hasznos, de figyelembe kell venni a működését, így valóban nem lehet minden eredményt csak úgy spontán összehasonlítani. Ugyanakkor, ha értelmezzük a teszt koncepcióját, akkor nagyon értékes adatokkal szolgálhat.

Azóta történt

Előzmények

Hirdetés