Mesterségesen kreált a Crysis 2 óriási gépigénye

Rejtett geometriák

Sokan emlékezhetnek még a régebben szebb napokat is megélt The Way It's Meant To Be Played partnerprogramra, mellyel az NVIDIA a fejlesztők munkáját segítette a PC-s játékok elkészítésében, illetve optimalizálásában. Sajnos mára a partnerprogram alaposan vesztett értékéből, amit az is jelez, hogy a zöldek csupán öt darab DirectX 11-es játékot kínáltak eddig a piacnak, miközben a konkurens AMD Gaming Evolved berkein belül már 13 játék készült, és ősszel további kettő fog megjelenni. Túlzás lenne azt feltételezni, hogy az NVIDIA pénzhiányban szenved, így csak kevesebb projektet tudnak finanszírozni, de valami egyértelműen nem úgy működik, mint régen.

Hirdetés

Biztos sokan tudják, hogy a Crysis 2 DirectX 11-es módja a The Way It's Meant To Be Played partnerprogramon belül készült, és a Metro 2033-hoz hasonlóan (szintén a The Way It's Meant To Be Played cím) elsősorban az óriási gépigényével hívja fel magára a figyelmet. Damien Triolet, a Hardware.fr szakértője elemezte a Crysis 2 motorjának működését, azaz utánajárt, hogy miért is kell a program maximális grafikán történő futtatásához minimum egy GeForce GTX 570-es VGA. A teljes cikk az alábbi oldalon olvasható végig. Sajnos franciául van, de bizonyos, hogy később megjelenik az angol fordítás is a magazinhoz tartozó BeHardware oldalon.

A cikkben szereplő teszteredményekből kitűnik, hogy a GeForce-ok és a Radeonok erősorrendje nem követi a többi játékban megszokott normákat. A Radeonok nagyjából 15-20%-kal teljesítenek rosszabbul a GeForce-okhoz képest. Az AMD-t korábban már megkérdeztük, hogy ennek mi az oka. A vállalat azt válaszolta, hogy a rajzolási parancsok többszálú feldolgozását kell optimalizálni, mivel az aktuális Catalyst meghajtók ezt csak egy processzorszálon képesek abszolválni, emellett rengeteg rejtett geometria van a játékban, amit valamilyen okból kiszámoltat a DirectX 11-es motor. Utóbbi felfedezés első hallásra borzalmasan viccesen hangzik, hiszen mi értelme kiszámolni valamit, ha annak semmi látszata nincs a végső képen. Ez az erőforrás nagyfokú pazarlása lenne, ami egy olyan rutinos stúdiótól, mint a Crytek nem megszokott. Éppen ezért nagyon szkeptikusak voltunk ezzel kapcsolatban, de Damien Triolet bizonyítékot talált minderre.

A fentebb linkelt tesztben látható, hogy a Crysis 2 DirectX 11-es módja állandóan kiszámolja a város alatti virtuális óceán geometriáját, holott az sokszor nem is látszik. Az API-ban létezik erre kivágó algoritmus, ami a biztosan nem látszódó felületeket eltünteti még a vertex shader fázis előtt, de ez a DirectX 11-es módba valamiért nem került bele. Érdekes azonban, hogy a rendszer még a raszterlizálás előtt eltörli a geometriát, így a szintén nem kevés erőforrásigénnyel rendelkező pixel shaderek már nem futnak le rajta. A tesszellált vízfelületet tehát szimplán a geometry shader fázisig él, és nagymértékben terheli a GPU-k primitív futószalagját hozzávetőleg 10-30%-os (az adott GPU képességeitől függően) lassulást eredményezve a jelenet primitív számításának idejében. Ennek természetesen nem látjuk értelmét és szükség sincs rá, mivel a végső képen semmilyen formában nem jelenik meg ez a számítás, de a DirectX 11-es módban valamiért megtörténik.


A Crysis 2 rejtett geometriája és a tényleges jelenet (forrás: Hardware.fr) [+]

A cikk még nem ért véget, kérlek, lapozz!

Előzmények

Hirdetés