Idézet: Frosty - Dátum: 2012. 08. 03. 00:25
Generációk óta jellemző már, hogy Nv kártyák magas felbontásban és sok AA-val keményen eltudnak fogyni radeonokhoz képest. Szóval ez annyira nem meglepetés. Másrészt ezen játékok nagy része AMD gaming evolved programos, csutkára AMD-re optimalizálva. Például egészen feltűnő, hogy Fermik megjelenése óta mennyire parkoló pályára helyezték mind marketingben, mind a programukban tesszelációt. Kissé ironikus annak tekintetében, hogy HD2900-tól 5870-ig bezárólag tőlük még a csapból is az folyt.
GK104-re visszatérve. Megnéztem most jó pár szintetikus tesztet, de az hogy Fermihez képest masszívan szar lenne számításban egyáltalán nem igaz. Általános grafikus számításban az egyszerűtől a komplex shaderekig 50-100%-kal gyorsabb GF110-nél, physx-ben szintén. Tény vannak gyenge pontjai, max aki ilyet vesz nem használja raytracingre meg opencl-re. Amúgy sem arra lett kitalálva. Radikálisan megnövelt textúrázási képességek különösen a mostanság oly népszerű FP16 tekintetében, a tovább növelt tesszelálási sebesség, a local data share/L1 32/32Kbyte-os felosztása amely tökéletesen optimális directcompute API-ban meghatározottakhoz, az energiahatékonyság, mind-mind arra utal, hogy egy 200%-os GAMER architektúra létrehozása volt a cél. Nem több.
Mindenesetre belegondolni is hátborzongató, hogy a GTX560Ti utódja így felveszi a versenyt GCN-nel amely az utóbbi évek egyik legjobb AMD terméke. Kényelmes helyzetbe hozta Nv-t.
Jellemző volt a felbontásra, hogy nehezebben tűrte a GeForce ennek a növelését, mint a Radeon, de ez az 1:1 raszter:ROP aránnyal már megoldotott a Keplernél. Az MSAA az még mindig nehézkes, de az említett játékokban csak a DiRT Showdown tartalmaz MSAA-t. A többi más megoldással dolgozik, mert mindegyik motor deferred render. Jellemző manapság, hogy több játékot szállít az AMD Gaming Evolved partnerprogram, mint az NV TWIMTBP. De ettől a játékok fejlesztői az NV-vel is dolgoztak, ahogy a TWIMTBP címeken is dolgoznak AMD-s emberek. A gond az említett négy programban a compute shader, és az LDS erős használata. A Kepler shared memory teljesítmény 0,33 bájt/FLOP, míg a GCN-é 1,5 bájt/FLOP. Ez nagy különbség. Az előző generációban nem volt ekkora eltérés, mert a Fermi 0,66-1-et tudobb, mít a VLIW4/5 0,4-0,8-at. Függően a felépítéstől. Én az új generációtól 1 bájt/FLOP-ot vártam fixen. Ehhez képest mindkét cég rámcáfolt. Az AMD pozitívan, míg az NV erős meglepetésemre negatívan. A többet annyira nem tartom problémának (a gyártó baja a tranyóbudget), de a keveset igen. Nem hiszem, hogy a fejlesztők örülnek annak, hogy ötszörös a különbség a két új architektúra között ebből a szempontból. Ráadásul pont most, amikor az MS hozza a shader-trace interfészt, amivel sokkal bonyolultabb DirectCompute programokat lehet majd írni. Az MS fejlesztése, és a fejlesztők kérése ebbe az irányba teljesen felesleges volt, mert a Kepler megjelenésével nagyon kell vigyázni arra, hogy ne legyen túlterhelve az LDS, vagyis mindent hiába csinált az MS. Ettől függetlenül persze respect nekik, hogy teljesítették a fejlesztők kérését, később nagy haszna lehet a shader-trace interfésznek.
Van tesszelláció az AMD Gaming Evolved játékokban is. Annyi a különbség, hogy nem tesszellálnak sík felületet, mert azt minek, ugyanaz lesz a kinézete tesszelláció nélkül is. Szerintem ez teljesen logikus. Ami pedig a fejlesztéseket illeti. A tesszelláció általános problémája, hogy sokat kell a modellel szívni, hogy tesszellált formában és anélkül is jól nézzen ki. Emellett nem egyszer megtörik a váz, ami nagyon csúnya eredményt ad. Ez persze a DX 11-be épített noSplit tesszellálás mellékhatása, és majd a DiagSplitre való áttérés megoldja. De az AMD már csinált példákat vektor displacement map alkalmazására, amivel nem törik meg a váz, és a tesszellálás szintje valós időben változtatható. Szóval ugyanúgy fejlesztenek ebbe az irányba, csak a tesszellálással több probléma jött elő, mint amennyit megold, azért lassultak ebből a szempontból a fejlesztések. De ahogy elnézem a Pixel Accurate Displacement Mappingot a Crytek is kreatív.
Nem mindegy, hogy mit számol. Jellemzően a Kepler ott dől be, ahol az algoritmus nagyon épít az LDS-re. Például a DiRT: Showdownba épített forward+ lighting, ami menedzseli a jelenetben a fényeket, aminek ugye az eredménye egy pixelalapú megvilágítási modell. Ez van kiegészítve egy valós idejű globális illumináció effekttel, ami származtat egy virtuális pontfényforrást, ott ahol a fény eléri a virtuális felületet. A fénysugarak fizikai interakcióját a felületekkel pedig teljesen a GPU számítja. Nem mondható sugárkövetésnek, de a fény útját azért le kell számolni a fizikailag korrekt szimulációhoz. A lényege az egésznek, hogy egy forward render is képes legyen annyi pontfényforrást kezelni, amennyit egy deferred render tud, de anélkül, hogy hozná a deferred algoritmussok kellemetlen mellékhatásait.
A GK104-ben a tesszellátorok száma megfeleződött a GF110-hez képest. A teljesítmény árnyaltabb, mert változott a felépítés. Jellemzően a vertex re-use képesség jobb lett, de lényegében ennyi. Ez egyes esetében hozza azt a szintet, amit a GF110 tudott, de mivel rengeteg forma létezik a tesszellálásra, így nem egyszer visszalépés. Például phong tesszellálásban a GK104 a GF110 felére képes. Ez egy logikus döntés volt amúgy. Ahogy fentebb említettem, előbb a tesszellálás felmerült gondjait kell megoldani, aztán érdemes ezt erősíteni. A 32/32 kB-os elosztás nem nagy dolog. Igazából nem volt gond a 48/16 kb-ból. Az AMD is 64 kB-os LDS-t rakott a GCN-be, hogy több adat férjen bele, és ezt még megfejelték egy külön 16 kB-os L1 tárral. Ami a compute sebesség szempontjából jobban számít az az adatátviteli teljesítmény.
Én a felépítésekből azt látom, hogy egyik architektúrát sem tervezték 200%-os gémernek. Ezt bővebben kifejtettem itt:
Link Az AMD az APU-kat, míg az NV a Tegrát vette számításba. A VGA másodlagossá vált, mert más piacokon többszörös a lehetőség és a haszon is.
Igazából nincs nagy gond. A fejlesztőket kell meggyőzni, hogy a nem jó irány az erős compute a játékokban. Az MS-t igazából annyira nem fogja érdekelni, hogy mennyire komplex eljárásokat írnak compute shaderben a fejlesztők. Ők megoldásokat adnak a problémára, és vagy használják, vagy nem.
Szerkesztette: Abu85 2012. 08. 02. 23:34 -kor