Hirdetés

Új hozzászólás Aktív témák

  • Abu85

    HÁZIGAZDA

    válasz zack #161 üzenetére

    Ez így működik. Amíg nagy az interframe kommunikáció bizonyos jeleneteknél addig a minimum fps-re ez nem lesz jó hatással. Az SLI is ugyanúgy működik, ahogy a CrossFire. Ugyanazokat a hátrányokat elszenvedi. Muszáj átmásolni az adatot a másik GPU memóriájába. Ezt sem fogja elkerülni egyik AFR-rel működő technológia sem. Erre az a gyógyír, hogy az interframe kommunikációt minimálisra vegyék a fejlesztők, de ez nem általános. Valamikor annyit lehet vele nyerni, hogy érdemes bevetni, főleg azért, mert sokkal kevesebb embernek van CF/SLI rendszere, így ez a réteg lesz hátrányba szorítva bizonyos döntések meghozatalánál. Gondolom ennek köze van ahhoz, hogy az AMD idén már nem csinált hivatalosan két GPU-s csúcskártyát. Elkezdték máshogy tervezni a játékokat. Valószínű, hogy az AFR helyett majd jön valami másik alternatíva.

    (#162) huskydog17: Jó, de a Deus Ex: HR-ben nem volt MSAA, valós GI, Bokeh DoF, Hitman-féle SSAO. Azért ezek nem arról híresek, hogy a teljesítménnyel finoman bánnak.
    Ebbe is rakhattak volna MLAA-t. Szerintem főleg azért használják a Gaming Evolved fejlesztők az FXAA-t, mert az AMD csinált a 3.11-es algoritmusra egy DirectCopmute-tal működő verziót. És mivel az FXAA több mintával dolgozik, mint az MLAA, így az összességében jobban terheli a Keplert, mint a GCN-t. A Hitman FXAA-ja eleve elég jó minőségű. Rengeteg mintával dolgozik, és subpixel adatokkal is el van látva, valamint van rajta sharpen. Ez jóval bonyolultabb FXAA, mint amit a játékok, vagy az inject megoldások használnak, de ez a jó. Az MLAA, FXAA, meg a többi postAA igazából jó ötletre épül, de ha nem gyúrod ki őket a programhoz, akkor nem fognak tökéletesen működni. Ezt egy driverben, vagy egy inject megoldásban nem lehet megtenni, de egy játéknál a fejlesztő megteheti. És így már elég jó lesz az eredmény, mindegy, hogy MLAA vagy FXAA. Persze az alapalgoritmusok általános gyengesége megmarad, így az FXAA sosem fogja szeretni a 45 fokos éleket, míg az MLAA a függőlegeshez és a vízszinteshez közeliket, de a többi általánosabb probléma eltüntethető, így például a temporális zavarok, a hud kiszűrésével a betűk torzítása, illetve a sharpen szűrővel élesíthető az eredmény. Teljesen jó megoldást választottak a fejlesztők. Igazából mindegy, hogy MLAA vagy FXAA, csak szabják a megoldást a játékhoz.
    Az FXAA és az MLAA2.0 sebessége az nem olyan általános, hogy az egyik állandóan gyorsabb. Az MLAA2.0 a működéséből eredően kevésbé paraméterezhető. Be lehet itt állítani mindegyikre, hogy milyen minőségben működjön, de az MLAA-ra nem szokás, mert kevésbé skálázódik. Van egy ideális paraméterezése, aminél nem érdemes kevesebbet használni, mert ronda lesz, de többet sem, mert nem lesz szebb, eközben a teljesítmény kis tartományban változik. Az MLAA-ra nincs is minőségi beállítás a játékokban. Csak bekapcsolhatók, jellemzően maximális minőségi paraméterezés mellett. Az FXAA teljesítménye már szélesebb skálán változik a paraméterezéstől, és ami fontosabb, hogy a minősége is széles skálán állítható. Éppen ezért az FXAA lehet gyorsabb az MLAA-nál, de rosszabb minőség mellett, viszont lehet lassabb is, de jobb minőség mellett. Az, hogy ki milyen paraméterezést használ egyéni dolog. Az NV driverbe jellemzően a közepes minőségi szint van építve, mert az FXAA-ra jellemző, hogy magas minőség mellett relatíve jobban esik a teljesítménye. Ezért rakta át az AMD DirectCompute-ra az algoritmust, de még az NV is beépítette a Gather4-et. Ezekkel a dolgokkal az általános sebesség felgyorsítható, vagyis nem jelent gondot, hogy ha a mintavételek számát drasztikusan megnövelik a fejlesztők. Ezt látjuk a Hitman esetében is. Persze így jobban is zabálja a rendszer az fps-t, de a minőségi változást figyelembe véve ez még így is megéri.
    Az FXAA és az MSAA az elvben két különálló dolog. A Hitman esetében viszont a motor működésének egyfajta sajátossága, hogy az FXAA és az MSAA kiegészíti egymást. Funkcionálisan működnek egymás nélkül, de bizonyos területeket az MSAA tud jobban leszűrni, míg a többit az FXAA. Így van az egész kalibrálva, hogy a kettő egymás mellett alkosson egy egészet.

    (#163) zack: Minden AA megoldásnak vannak gyengéi. A legátfogóbb technológia az SSAA, csak nagyon zabál. A többi AA esetében fel lehet sorakoztatni a pró és kontra érveket. Gyakorlatilag mindegyik mellett. Az MSAA-t egy post-process megoldással azért szokás ma keverni, mert kétféle AA típus egymás hibáit elfedik, így teljesebb lesz az AA. Az lehet, hogy marad még probléma, sőt biztos is. Ma is van olyan játék, mely háromféle AA-t használ a szűrésre (Sleeping Dogs FXAA+SSAA+MLAA). És még így is említettek a fejlesztők olyan részeket, amire bevethető lenne egy negyedik AA extraként, ami a shimmering miatti temporális zavarokat szűrné. Az AA alapvetően egy nagyon komplex kérdés. Véleményem szerint a jövőben érdemesebb lenne a kutatásokat az analitikai megoldások felé fordítani. Nagyon gyors specifikus megoldások egy-egy problémakörre. Ezzel főleg az a probléma, hogy egyedi implementációt követel, vagyis minden motorhoz gyakorlatilag a nulláról kell felépíteni, de mivel a DirectX 11.1 sokkal egyszerűbbé tette a shader debugolást, így a fejlesztők több figyelmet szentelhetnek ennek az iránynak.

    Az AFR skálázódása a Hitman esetében specifikus. A motor úgy van felépítve, hogy bizonyos jeleneteknél információval segítse a következő képkockát. Ennek a célja, hogy a feldolgozás felgyorsítható legyen. De az SLI és a CrossFire úgy működik, hogy az egyik képkockát az egyik GPU számolja, míg a következőt a másik. Mivel a memória nem közös, így a kimentett információkat át kell másolni a második GPU memóriájába. Ez az interframe kommunikáció, gyakorlatilag két egymás utáni frame közötti adatcsere. Egy GPU mellett ez nem gond, mert ott van az adat a memóriában. A második GPU-nak viszont ez nincs meg. Valamilyen szinten ez kezelhető, vagyis el lehet érni gyorsulásokat AFR módban is, de a minimum fps csökkenhet, mert a frame számításának megkezdéséhez meg kell várni az adat átmásolását. Ezzel nem lehet mit csinálni, ez pusztán a hardver képességein múlik, hogy milyen gyorsan kerül az egyik VRAM-ból a másikba információ.
    Arról nincs adat, hogy a jövőben hány ehhez hasonló játék érkezik. Igazából nem szükségszerű, hogy egy motor így működjön, de ha így működik, akkor az AFR-nek vagyis az SLI-nek és a CF-nek káros.

Új hozzászólás Aktív témák