Titkok lappanganak fermis GeForce-okban

A Fermi architektúra felületes működéséről az elmúlt év tavaszán számoltunk be. Azóta az összes GeForce erre a rendszerre épül kisebb-nagyobb módosításokkal, ám úgy néz ki, hogy még ennyi idő eltelte után is derülnek ki apróbb részletek a működéssel kapcsolatban. Pár hónappal ezelőtt, a fermis Quadro kártyák megjelenése idején hullott le a lepel a GeForce-ok raszter motorjának korlátozásáról. Ebből az egységből négy darab található a GF100-as és a GF110-es lapkában, de a teljes kapacitás csak akkor használható ki, ha a futtatott program tesszellációt is használ. Amennyiben ez a feltétel nem valósul meg, a driver mesterségesen a negyedére csökkenti háromszög-feldolgozás teljesítményét. Ez a tulajdonság sokak számára negatívan hatott, de alapvetően nem kapott nagyobb figyelmet, és ez lényegében így van rendjén. Tulajdonképpen az NVIDIA a mesterséges korlát felállításával a játékok sebességének nem ártott, és a GeForce alapvetően ezt a piacot célozza meg. Tesszelláció nélkül – és sok esetben még tesszellációval is – kihasználatlan a raszter motor által kínált teljesítmény, vagyis a játékok nagyon nagy többsége gyakorlatilag semmit sem lassul a driverben bevezetett feldolgozási korláttól, amit a rendszer úgy old meg, hogy a technikailag maximumként elkönyvelt órajelenkénti egy háromszög feldolgozása négy órajel alatt megy végbe. Ha van olyan program vagy játék, ahol ez a korlátozás negatívan érinti a sebességet, ott egyszerűen engedélyezni lehet a hardver valós képességét egy profil segítségével. Az információk szerint jelenleg minden olyan alkalmazás ide tartozik, ami használ tesszellációt.

Hirdetés

Az NVIDIA lépése teljesen érthető a GeForce ilyen irányú korlátozásáról, hiszen nem győzzük hangsúlyozni, hogy a játékokban nem éri teljesítményveszteség a felhasználót, ám a professzionális programok más lapra tartoznak. Az utóbbi szoftverekhez a vállalat a Quadro kártyákat szánja, amelyek finoman szólva is méregdrága árcédulákat kapnak. A cég tehát csak azt akarja elkerülni, hogy az úgymond olcsó GeForce is képes legyen a Quadro teljesítményszintjét hozni, mondjuk a Blender alatt, ahol igen részletes modellekkel is lehet dolgozni. Professzionális munkára tehát professzionális kártya való, és ezt alapvetően nem csak az NVIDIA gondolja így.

A raszter motor korlátozása tehát semmilyen negatív hatást nem jelent a játékokban, ám nemrég kiderült egy másik érdekessége a Fermi architektúrának, ami már kedvezőtlenebb eredményt fejt ki. A DirectX 11 számos újítást vezetett be a mélységpufferre vonatkozóan. Ezek közül a legérdekesebb a conservative depth output, ami a hírek szerint már a DirectX 10-ben is megjelent volna, ám a technikát csak a HD Radeonok támogatták, vagyis az API új irányelveinek és egységességének megőrzése érdekében a Microsoft elhalasztotta az implementálást a DirectX 11-ig.

A conservative depth lényegében a raszterizálás irányítását teszi lehetővé, vagyis a fejlesztő egy olyan pixel shadert írhat, ami manuálisan kiértékeli az adott képponthoz tartozó mélységértéket. Az API két paramétert kínál erre. Az SV_DepthGreater arra szolgál, hogy a számítások legyenek elhagyva, ha a kinyert mélységérték nagyobb a mélységpufferben szereplő adatnál, míg az SV_DepthLessEqual akkor veti el a kalkulációt, ha a mélységérték kisebb vagy egyenlő a mélységpufferben tárolt információnál. Gyakorlatilag az eljárás alkalmazásával a GPU a felesleges számítások alól menti fel magát, mivel a conservative depth mellett végrehajtható egy irányított mélységteszt, ami ott vezet eredményre, ahol a hagyományos SV_Depth paraméter már nem képes meghatározni, hogy mely képpontok esetében érdemes elhagyni a további számításokat. Az eljárás jó eredményeket tud felmutatni, ugyanis a mérések szerint a conservative depth alkalmazása – függően a jelenet komplexitásától – 5-20%-os teljesítménynövekedést eredményezhet a hagyományos feldolgozáshoz viszonyítva. A DirectX 11 már támogatja ezt a funkciót, sőt az implementáció úgy lett megoldva, hogy a régebbi DirectX 10-es kártyák is profitáljanak belőle, ha a driver képes kezelni a megfelelő paramétereket.

A conservative depth output jelentősége azért csak most került elő, mert érkezőben vannak azok a játékok, amelyek aktívan építenek a technikára, mint például a nemrég megjelent Dragon Age 2. Ebben a programban a GeForce kártyák nem úgy szerepelnek, ahogy az általánosan elvárható lenne. A Bioware-től származó információk szerint az NVIDIA az elkövetkező hetekben kiad egy új drivert, ami javít a helyzeten, de a conservative depth előnyeit továbbra is csak a Radeonok képesek kihasználni.

Felmerül persze a kérdés, hogy a Fermi miképp lehet kompatibilis a DirectX 11-gyel, ha az egyik funkciót nem támogatja. Ezzel kapcsolatban megkerestük a Microsoft-ot a magyarázatért. A vállalat szóvivője szerint a conservative depth output kezeléséhez nem kötelező hardveres támogatás, vagyis azok a kártyák is megfelelnek a specifikációknak, amelyek a driverből emulálják a technikát. Ez a megoldás ugyan nem hoz magával számottevő sebességnövekedést, de az adott program működésére nincs hatással, vagyis az eredmény ugyanaz lesz.

Mindenképpen érdemes megjegyezni, hogy a Dragon Age 2 esetében a GeForce-ok általánosan gyenge teljesítménye nem csak az emulált conservative depth rovására írható, vagyis főleg a driverrel vannak gondok, amit a Bioware-től származó tájékoztatás meg is erősít. Ettől függetlenül az előbbi technikát nem kezelik hardveresen a GeForce-ok, ami mindenképpen újdonságnak hat, ám komoly különbségek ettől nem, vagy csak ritkán várhatók.

Azóta történt

Előzmények

Hirdetés