Rónai György
Futuremark vs. nVidia: a második menet
A tegnapi Gainward féle vádak után most az nVidia és a Futuremark képviselői is nyilatkoztak hivatalosan az ügyben, amely a 3DMark03 b340 javítását és a driver "optimalizációkat" illeti.
Az nVidia szóvivője alátámasztotta a Gainward munkatársa által felhozott vádakat, miszerint a 340-es patch egyszerűen kiiktatja a GPU fordítóját a meghajtó programban. "Ilymódon a fordítónak a CPU segítségével kell futnia, amely nehezebb kódfeldolgozást jelent, így jó 20 %-ot elvéve a teljesítményből." "Igen, jelenleg ez a helyzet a Futuremark 340-es javításával."
"A néhány héttel ezelőtt megjelent 52.16 meghajtónk tartalmazza az új, egyesített fordító technológiánkat, amelyet ez a patch kiiktat, és így jóval lassabban működik." tette hozzá Luciano Alibrandi, az nVidia európai termékmenedzsere.
Mindezekre reakcióképpen a Futuremark eladási és marketing főnöke így nyilatkozott: "Az nVidia szóvivője teljesen félreérti a helyzetet, mivel amit állít az egyátalán nem is lehetséges technikailag. A 3DMark03 nem kommunikál a grafikus driverrel semmilyen formában, csupán a DirectX API-val, amely csak ez után fordul a driverhez. Emiatt teljességgel lehetetlen, hogy a programunk kikapcsolja a GPU fordítóját a driverben."
Az nVidia képviselője erre a következőképpen reagált: "Az egyik dolog, amit az új, egyesített fordító programunk tesz, hogy átrendezi a shaderek programutasításait. Ezen egyszerű művelettől a teljesítmény drámaian megnövekedhet, mivel a technológiánk nagyon érzékeny az utasítás-feldolgozás sorrendjére. Amennyiben tehát ez nem történik meg, megcsappan a teljesítmény is."
"Az egyetlen változtatás a 340-es verzióban, hogy más sorrendben hajt végre bizonyos utasításokat, vagy felcseréli a használt regisztereket. Ez azt jelenti, hogy az új shader eljárások matematikailag azonosak az előzőekkel. Magyarán, a GPU fordítójának ugyanúgy kellene felismernie, és ugyanolyan sebességgel kellene feldolgoznia az új kódot is, mint a régit. Természetesen azonban ha alkalmazás specifikus kivételezések is vannak a driverben - amelyek függnek a shaderek felismerésétől -, akkor láthatunk -mint ahogy látunk is- teljesítmény különbségeket, mivel ilyenkor a meghajtóprogram nem ismeri fel, hogy milyen shader is fut éppen." tette hozzá Tero Sarkkinen, a Futuremarktól.
"A mi álláspontunk szerint az egyesített fordítónk a lehető legjobb játékélményt biztosítja, és amíg jó képminőséget is biztosít, valamint nem csak a tesztprogramot gyorsítja fel, addig legjobb a technológiánkat ki is használni." nyilatkozta erre az nVidia hivatalosan, amely az előbbi Futuremark magyarázat alapján könnyen észrevehető, hogy valójában totális mellébeszélés.
A Futuremark összegzése szerint "Ismételjük meg tehát, hogy minden 3DMark specifikus optimalizáció tiltott a szabályaink szerint, mivel azok meghamisítják a mérési eredményeket, és összehasonlíthatatlanná teszik az egyes hardvereket. A helyes következtetés tehát az, hogy az új patch fényében a 3DMark03 már egy nagyon is objektív teljesítménymérést tesz lehetővé a különböző hardverek között."
Úgy tűnik tehát, hogy még egy nagy félreértés is húzódik a két cég között. Mint olvashattuk, az egyik oldal azt állítja, hogy az egyesített fordító ki van iktatva a 3DMark03-ban, míg a Futuremark fejlesztői szerint ez valójában technikailag lehetetlen. A Futuremark sosem arról volt híres, hogy hasznos technikai megoldásokat iktatott volna ki a tesztprogramjaiban, másrészről az nVidia azonban jónéhány esetben bebizonyította, hogy számára a cél szentesíti az eszközt.
Végezetül, összegzésképpen had világítsak rá arra a tényre, miszerint az eredeti információkban az állt, hogy az új fordító technológia a PixelShader teljesítményét hivatott javítani. Amint kiderült, hogy a GeforceFX-ek teljesítménye mintegy 15 %-kal csökken az új 3DMark03-ban, rögtön azzal vádolták az nVidia szakemberei a Futuremarkot, hogy a fordító eljárást iktatta ki a driverben az új patch-csel. Ez eleve két dolog miatt is megdől azonban, egyrészt a tesztprogram részletes eredményei szerint nem is a Pixel, hanem a Vertex Shader teljesítménye esik vissza jelentősen, másrészt a 3DMark semmilyen formában nem tud a driverrel kommunikálni, csupán a DirectX API-val, ily módon annak esetleges kiiktatása is gyakorlatilag lehetetlen. A harmadik tény, amely ugyancsak a Futuremark-nak ad igazat, hogy a b340 változtatásai csupán a shader programkód végrehajtási sorrendjét illetik, ami logikusan semmilyen módon nem befolyásolhatná az új fordító technológia működését, amennyiben utóbbi tényleg csak a végrehajtási sorrendeket variálná, mivel egy X sorrendű programkódot, és egy Y sorrendű programkódot is ugyanúgy át kell tudjon alakítani Z végrehajtási sorrendűvé. Mivel a teljesítmény azonban mindezek ellenére visszaesik, logikus a következtetés, hogy a patch valóban csak kifejezetten a 3DMark03-hoz integrált csalásokat küszöböl ki, méghozzá jórészt a Vertex Shader működésében.
Mindezek alapján tehát jelenleg úgy tűnik, hogy az nVidia megint nem tud mivel reagálni az ellene felhozott vádakra, és a felsorolt technológiai, és működési részletekre is már csak mellébeszélés volt a kontra. Ráadásul hozzátenném, hogy az nVidia a legújabb hírek szerint újra csatlakozni kíván a 3DMark béta fejlesztői programhoz az NV40 kapcsán, annak ellenére, hogy egyik - általam is idézett - nyilatkozatukban nyíltan az elfordulásukat fejezték ki a 3DMark03-tól. Ha visszaemlékszünk, annak idején többen is azzal vádolták a Futuremarkot, hogy azért lett állítólagosan részrehajló, mivel az nVidia kilépett a béta fejlesztői programból, és ezzel komoly részvételi díjtól esett el a Futuremark. Persze utána kiderült, hogy erről szó sincs, mivel jelentéktelen összegről volt szó, és akkor is a mostaniakhoz hasonló okok miatt szakított velük az nVidia. Természetesen mindkét oldalról várjuk a további fejleményeket, hiszen egyrészt az nVidia amúgy is meggyengült szavahihetősége, valamint a Futuremark ugyancsak megtépázott szakmai elismertsége múlik az ügyön.
Az nVidia szóvivője alátámasztotta a Gainward munkatársa által felhozott vádakat, miszerint a 340-es patch egyszerűen kiiktatja a GPU fordítóját a meghajtó programban. "Ilymódon a fordítónak a CPU segítségével kell futnia, amely nehezebb kódfeldolgozást jelent, így jó 20 %-ot elvéve a teljesítményből." "Igen, jelenleg ez a helyzet a Futuremark 340-es javításával."
"A néhány héttel ezelőtt megjelent 52.16 meghajtónk tartalmazza az új, egyesített fordító technológiánkat, amelyet ez a patch kiiktat, és így jóval lassabban működik." tette hozzá Luciano Alibrandi, az nVidia európai termékmenedzsere.
Mindezekre reakcióképpen a Futuremark eladási és marketing főnöke így nyilatkozott: "Az nVidia szóvivője teljesen félreérti a helyzetet, mivel amit állít az egyátalán nem is lehetséges technikailag. A 3DMark03 nem kommunikál a grafikus driverrel semmilyen formában, csupán a DirectX API-val, amely csak ez után fordul a driverhez. Emiatt teljességgel lehetetlen, hogy a programunk kikapcsolja a GPU fordítóját a driverben."
Az nVidia képviselője erre a következőképpen reagált: "Az egyik dolog, amit az új, egyesített fordító programunk tesz, hogy átrendezi a shaderek programutasításait. Ezen egyszerű művelettől a teljesítmény drámaian megnövekedhet, mivel a technológiánk nagyon érzékeny az utasítás-feldolgozás sorrendjére. Amennyiben tehát ez nem történik meg, megcsappan a teljesítmény is."
"Az egyetlen változtatás a 340-es verzióban, hogy más sorrendben hajt végre bizonyos utasításokat, vagy felcseréli a használt regisztereket. Ez azt jelenti, hogy az új shader eljárások matematikailag azonosak az előzőekkel. Magyarán, a GPU fordítójának ugyanúgy kellene felismernie, és ugyanolyan sebességgel kellene feldolgoznia az új kódot is, mint a régit. Természetesen azonban ha alkalmazás specifikus kivételezések is vannak a driverben - amelyek függnek a shaderek felismerésétől -, akkor láthatunk -mint ahogy látunk is- teljesítmény különbségeket, mivel ilyenkor a meghajtóprogram nem ismeri fel, hogy milyen shader is fut éppen." tette hozzá Tero Sarkkinen, a Futuremarktól.
"A mi álláspontunk szerint az egyesített fordítónk a lehető legjobb játékélményt biztosítja, és amíg jó képminőséget is biztosít, valamint nem csak a tesztprogramot gyorsítja fel, addig legjobb a technológiánkat ki is használni." nyilatkozta erre az nVidia hivatalosan, amely az előbbi Futuremark magyarázat alapján könnyen észrevehető, hogy valójában totális mellébeszélés.
A Futuremark összegzése szerint "Ismételjük meg tehát, hogy minden 3DMark specifikus optimalizáció tiltott a szabályaink szerint, mivel azok meghamisítják a mérési eredményeket, és összehasonlíthatatlanná teszik az egyes hardvereket. A helyes következtetés tehát az, hogy az új patch fényében a 3DMark03 már egy nagyon is objektív teljesítménymérést tesz lehetővé a különböző hardverek között."
Úgy tűnik tehát, hogy még egy nagy félreértés is húzódik a két cég között. Mint olvashattuk, az egyik oldal azt állítja, hogy az egyesített fordító ki van iktatva a 3DMark03-ban, míg a Futuremark fejlesztői szerint ez valójában technikailag lehetetlen. A Futuremark sosem arról volt híres, hogy hasznos technikai megoldásokat iktatott volna ki a tesztprogramjaiban, másrészről az nVidia azonban jónéhány esetben bebizonyította, hogy számára a cél szentesíti az eszközt.
Végezetül, összegzésképpen had világítsak rá arra a tényre, miszerint az eredeti információkban az állt, hogy az új fordító technológia a PixelShader teljesítményét hivatott javítani. Amint kiderült, hogy a GeforceFX-ek teljesítménye mintegy 15 %-kal csökken az új 3DMark03-ban, rögtön azzal vádolták az nVidia szakemberei a Futuremarkot, hogy a fordító eljárást iktatta ki a driverben az új patch-csel. Ez eleve két dolog miatt is megdől azonban, egyrészt a tesztprogram részletes eredményei szerint nem is a Pixel, hanem a Vertex Shader teljesítménye esik vissza jelentősen, másrészt a 3DMark semmilyen formában nem tud a driverrel kommunikálni, csupán a DirectX API-val, ily módon annak esetleges kiiktatása is gyakorlatilag lehetetlen. A harmadik tény, amely ugyancsak a Futuremark-nak ad igazat, hogy a b340 változtatásai csupán a shader programkód végrehajtási sorrendjét illetik, ami logikusan semmilyen módon nem befolyásolhatná az új fordító technológia működését, amennyiben utóbbi tényleg csak a végrehajtási sorrendeket variálná, mivel egy X sorrendű programkódot, és egy Y sorrendű programkódot is ugyanúgy át kell tudjon alakítani Z végrehajtási sorrendűvé. Mivel a teljesítmény azonban mindezek ellenére visszaesik, logikus a következtetés, hogy a patch valóban csak kifejezetten a 3DMark03-hoz integrált csalásokat küszöböl ki, méghozzá jórészt a Vertex Shader működésében.
Mindezek alapján tehát jelenleg úgy tűnik, hogy az nVidia megint nem tud mivel reagálni az ellene felhozott vádakra, és a felsorolt technológiai, és működési részletekre is már csak mellébeszélés volt a kontra. Ráadásul hozzátenném, hogy az nVidia a legújabb hírek szerint újra csatlakozni kíván a 3DMark béta fejlesztői programhoz az NV40 kapcsán, annak ellenére, hogy egyik - általam is idézett - nyilatkozatukban nyíltan az elfordulásukat fejezték ki a 3DMark03-tól. Ha visszaemlékszünk, annak idején többen is azzal vádolták a Futuremarkot, hogy azért lett állítólagosan részrehajló, mivel az nVidia kilépett a béta fejlesztői programból, és ezzel komoly részvételi díjtól esett el a Futuremark. Persze utána kiderült, hogy erről szó sincs, mivel jelentéktelen összegről volt szó, és akkor is a mostaniakhoz hasonló okok miatt szakított velük az nVidia. Természetesen mindkét oldalról várjuk a további fejleményeket, hiszen egyrészt az nVidia amúgy is meggyengült szavahihetősége, valamint a Futuremark ugyancsak megtépázott szakmai elismertsége múlik az ügyön.