Keresés

Hirdetés

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

  • Abu85

    HÁZIGAZDA

    válasz arn #37 üzenetére

    Annyira amennyire a sugárkövetés fake.
    Mit csináljanak, ha az iparági megoldás nem elég gyors?

    (#7) qad: A CPU csak voxelizációra kell. A sugárkövetés már a GPU-n történik. Valószínűleg meg lehet csinálni a voxelizációt GPU-n is, csak egyrészt ez egy nagyon aszinkron folyamat, másrészt ez igazából inkább memóriaigényes, mert ha már voxelizáltad a jelenetet (amit betöltéskor megtesznek), akkor csak frissíteni kell a változásokat benne.

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

  • Abu85

    HÁZIGAZDA

    válasz arn #45 üzenetére

    Ettől nem nagyon fogják jobban kihasználni a sokmagos gépeket. A CryEngine-nek régóta része a voxelizáció. Két maggal bőven elvan. Persze ajánlott a nyolc, de manapság melyik játéknál nem az. Ez a megoldás igazából rendszermemóriát zabál, annyira persze nem sokat, de eszi.

    (#46) nkmedve: Ez abból a szempontból hasznos, hogy a DXR-be mondjuk bekerüljön a nem háromszögként reprezentált jelenet támogatása. Ez azért nagyon ott van már az asztalon, de az gond vele, hogy megint újra kell kezdeni mindent, mert új hardverek kellenek egy nem csak háromszögeket kezelő rendszernek. Viszont az előnyei egyértelműek, csak kell hozzá új grafikus API is.

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

  • Abu85

    HÁZIGAZDA

    válasz qad #51 üzenetére

    De konkrétan min megy a vita? Voxelizálja a proci a jelenetet betöltéskor, és aszinkron frissíti azokat a részeket, amelyekre szükség van. Kb. egy-két mag elég erre, rendszermemória kell neki inkább, hiszen a jelenet voxelizált reprezentációját tárolni kell. Nem ettől kell majd a nyolcmagos, hanem majd a fizikai motorok változásától, ott már a számítási kapacitáson lesz a hangsúly.

    A GPU-n is lehet voxelizálni, de egyrészt nem túl előnyös, mert akkor a teljes jelenet voxelizált reprezentációját a VRAM-ban kell tárolni. Nem igazán elterjedtek ám a 16 GB-os VGA-k, és igazából maga számítási kapacitásra vonatkozó igény frame-per-frame szinten eléggé jelentéktelen ahhoz, hogy a GPU-n csinálják a voxelizációt. A GPU-n inkább a sugárkövetés részét alkalmazzák, ahol már elég sokat kell számolni.

    A Wildlands egy olyan motort használ, amelynél a driver arra van kényszerítve, hogy a frame számításának 30%-át töltse erőforrás-korlátozással. Holott az iparági ajánlás maximum 5%. Olyan játékból ne indulj ki, ami így működik. Az Anvil szépen továbbfejlődik majd a Snowdrop alapján. Akkor majd jó lesz az a motor is. Ma már túl régi, és túl elavult a működése, hogy jól fussanak rajta a játékok. Viszont most egy darabig nem lesz új AC, így meg lehet oldani a váltást.

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

  • Abu85

    HÁZIGAZDA

    válasz Bici #53 üzenetére

    Két magot kér. Hivatalosan két szálat, de azért a Crytek erősen ajánlja, hogy azok mögött a szálak mögött legyen két valós erőforrás is. Nem látom, hogy ez annyira nagy igény lenne így 2019-ben, amikor rendkívül olcsón dobálnak hozzád 8/16-os CPU-t.

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

  • Abu85

    HÁZIGAZDA

    válasz CptAdamica #60 üzenetére

    4K-ban. Azt nem tudni, hogy mennyi volt az átlag fps, de ha 30, ami ugye a Youtube videóból adódik, akkor is jó.

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

  • Abu85

    HÁZIGAZDA

    válasz arn #68 üzenetére

    Nagyon lebutított geometriával igen, de akkor meg rengeteg részletesség elveszik. A DXR legnagyobb hibája, hogy csak a háromszögeket támogatja bemenetként, pedig sugárkövetésnél az az igazán érdekes, hogy a reszterizációval ellentétben nem csak háromszögeken működik. Valószínűleg idővel lesz majd új verzió, ami már más geometriai reprezentációt is elfogad, persze ahhoz új hardverek kellenek majd.

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

  • Abu85

    HÁZIGAZDA

    válasz arn #70 üzenetére

    Mert a voxeleket amúgy is időszerű lenne támogatni a futószalagon belül, elvégre egyre többen nyúlnak hozzájuk. Nem az a baj, hogy nem lehet most megcsinálni, mert a compute shader bármit megenged, csak nem feltétlenül elegáns.

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

  • Abu85

    HÁZIGAZDA

    válasz arn #74 üzenetére

    Nem kényszerített ki semmit. A DirectX 12 már rég készült akkor, amikor a Mantle még nem is létezett. Már többször leírták az érintettek a történetet. Az AMD mondta a Microsoftnak még 2009 körül, hogy nem elég jó a DirectX 11 parancsgenerálási képessége, és a Microsoft meg mondta az AMD-nek, hogy csináljanak jobbat. Az AMD csinált egy prototípus kódot, amely sokkal jobban működött, mint a DirectX 11, így a Microsoft ezt átvette, és erre a prototípus kódra épül a DirectX 12. Aztán a BF3 megjelenése után Johan Andersson elutazott Torontóba, és Matt Skymernek mondta, hogy neki nagyon kellene egy low-leve API. Skymer pedig azt mondta neki, hogy ok, megcsinálják. Ez nem is volt nagy munka, mert eleve volt az AMD-nek egy prototípus kódja, amit a Microsoftnak adtak, majd azt fogták és írtak rá egy saját API-t. Ez volt a Mantle. Szóval igazából a Mantle nem kényszerített ki semmit, egyszerűen csak megszületett, mert Johan Andersson kérte, és volt egy alap, amire már építhettek.

    Igazából a világot sem a Mantle változtatta meg, hanem az AMD-nek az eredeti prototípusa, amit még 2010 körül adtak oda a Microsoftnak. Arra épült a Mantle, a DirectX 12 és a Vulkan is.

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

  • Abu85

    HÁZIGAZDA

    válasz Busterftw #76 üzenetére

    Mit kell ezen filózni? Compute shader az egész. Ez is iparági szabvány.

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

  • Abu85

    HÁZIGAZDA

    válasz Tyrel #87 üzenetére

    Rossz lenne a sebesség. A Crytek megvalósítása azért gyors, mert voxelekkel dolgozik. Ha ugyanúgy háromszögekkel dolgoznak ugyanazok lennének a sebességlimitjei, mint a DXR-nek.

    Itt bőven nem az a lényeg, hogy megmutassák nincs a DXR-re szükség. Egyszerűen nekik van egy tök jó voxelizációs technológiájuk a motorban, és arra építettek már több effektet. Ezt nem nagyon körülményes kiegészíteni visszaverődéssel. A probléma megoldásához szükséges alap nagy részét már támogatja a motor. Emiatt a Cryteknek nem hasznos a DXR, mert ugyanazt a problémát meg tudják oldani sokkal gyorsabban. Viszont egyedül a CryEngine jutott el ebben a generációban SVOGI implementációig, annak ellenére, hogy nagyon sokan fejlesztették az ehhez szükséges alapokat. Például az Unreal Engine is, szóval a DXR-re ettől még szükség lesz, mert ami miatt a Crytek megoldása működik, azt nagyon körülményes jól megvalósítani.

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

  • Abu85

    HÁZIGAZDA

    válasz nkmedve #91 üzenetére

    Régen volt egy rakás pre-baked effekt. Manapság egyre kevesebb van. Szinte minden dinamikus, a világítás, az árnyékok, az AO is teljesen az, ahogy a visszaverődések is, hiszen ezek manapság screen space megoldások.

    A problémát igazából az jelenti, hogy a háromszögekkel reprezentált virtuális világ nem igazán alkalmas a rombolhatóságra. Meg lehet oldani, de nagyon körülményes, és sokszor nagyon sok, nehezen reprodukálható bugot eredményez. Nem véletlen, hogy a környezet dinamikus változására épülő játékok mind voxelesek, de minimum a jelenet reprezentációja voxeles.

    A Red Faction is egyfajta térfogatra vonatkozó implementációval érte el a rombolhatóságot. Nem voxel volt, csak hasonló. Máshogy ezt nem lehet jól megoldani.

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

  • Abu85

    HÁZIGAZDA

    válasz b. #97 üzenetére

    A Microsoftnak igazából addig mindegy, amíg az alternatív megoldás fut Windowon, illetve Xbox One-on. Nekik van megoldásuk a problémára, de ha valaki egy másikat akar, akkor felteszik kezüket, és addig nincs gond, amíg a platformjaikon fut. Ha ezzel bajuk lenne, akkor nem lenne compute shader a DirectX API-kban.

    Nyilvánvaló, hogy az egyik lehetséges fejlesztési irány a DXR esetében a voxelek támogatása. A gond ezzel az, hogy külön ASIC-ok kellenek rá, ha a feladatok egy részét gyorsítani akarod. Például a Crytek megoldása nem tud mit kezdeni az RT maggal, mert nem azt a gyorsítóstruktúrát használja, amit a hardver támogat. Van egy másik, amit megoldanak a shader processzorokon. Ha hoz a Microsoft egy újfajta gyorsítóstruktúrát az új DXR-ben, akkor arra kell egy második RT mag. A régi RT mag van a régire, míg az új az új struktúra gyorsítására. Ha hoznak egy harmadikat, akkor arra megint kell egy harmadik mag, és így tovább. Tehát nem olyan egyszerű ám az a kérdés, hogy akkor a Crytek kitalált valamit, és dobjuk be gyorsan az egyes részfeladatait ASIC-es gyorsításra, mert azzal az érkező GPU-kba egy rakás új tranzisztort kell dobni, és felmerül az a kérdés is, hogy megéri-e a régi RT magot beépíteni, amikor úgyis az újat fogják használni a fejlesztők, stb. Tehát itt azért finoman kell ehhez hozzányúlni, mert ha itt elkezdjük alternatív gyorsítóstruktúrákkal kitömni a DXR-t, akkor rövid időn belül eljutunk odáig, hogy a GPU-k tranzisztorainak a fele csak RT magokból fog állni, de úgy, hogy egy játék az egyiket, a másik a másikat, míg a harmadik a harmadikat használja. Egy ilyen irány durva tranzisztorpazarlás lenne. Ha a Microsoft úgy látja, hogy valami más megoldás kell, akkor arra úgy tudnak csak reagálni, hogy mostani DXR-t kivégzik, és csinálnak egy teljesen újat. Két gyorsítóstruktúrát ugyanarra a problémára fenntartani nem éri meg, mert külön hardverek kellenek rá a GPU-kban.

    (#101) b. : Az SVOGI történet nem ilyen egyszerű. Ami történt, hogy az UE4-be beígért Sweeney egy SVOGI implementációt, de nem működött nyílt területeken, aztán az NV csinált egy másik implementációt, aminek VXGI volt a neve, ez épített Cyril Crassin kutatásaira. A VXGI már jól érezte magát nyílt terepen is, viszont amint megmozdult valami a jelenetben összeszarta magát, és fura grafikai hibákat generált. Na most ezeken a pontokon az Epic és az NV is feladta az SVOGI terveit. A Crytek nem ezeket az implementációkat használja, hanem terveztek egy sajátot, amit SVOTI-nak neveznek. Ennek az az előnye az Epic-es SVOGI és az NV-s VXGI megoldásokkal szemben, hogy működik, ami valljuk be nagy előny. De nem a Crytek az egyetlen, amely stúdiónak van ilyen megoldása, például a Sony rendelkezik egy CSVOGI eljárással, ami a saját implementációjuk a problémára, és a The Tomorrow Children ezt használja. Azt hiszem a Unity-nek is van valami pluginje erre, már nem emlékszem a nevére, de az a baj, hogy ha nem alapból készíted rá a motort, akkor nem lehet jó eredményt és sebességet hozni.

    (#107) Tyrel: Mert nem könnyű egy jó voxelizációs eljárást kialakítani. Esetleg licencelhető a VoxelFarm, de az se valami húdejóám.

    (#100) sb: De eszi a RAM-ot, viszont a sok az relatív.

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

  • Abu85

    HÁZIGAZDA

    válasz b. #111 üzenetére

    Az RT mag nem tartalmaz hagyományos értelemben vett ALU-t. Az egy bedrótozott hardver egy probléma kezelésére. Olyasmi a helyzet, mint a tesszelátorral. Hiába volt ilyen egység a HD 4000 sorozatban, a DirectX 11-es megvalósítást nem tudta kezelni. Ha a Microsoft beépít egy új gyorsítóstruktúrát, akkor ahhoz új RT mag kell. Lényegében ez a fixfunkciós egységek átka. Nem programozhatók.

    Kevered a dolgokat. A VXGI egy implementáció az SVOGI-ra. Emellett még van egy rakás másik implementáció, SVOTI, CSVOGI, nemtudomfelsorolnfejből...
    A VXGI nem a DXR-hez készült. Nem is tudja támogatni, mert a DXR API nem fogad el mást csak háromszöget bemenetként. Itt az a pont, amit magyarázok, hogy ha a Microsoft mondjuk elfogadja a voxelt is, akkor új ASIC-ek kellenek a voxelre vonatkozó feladatok gyorsítására. A mostani hardverek ezeket nem támogatnák. Az RT mag nem programozható, kap bemenetet és köp kimenetet, ennyi is a célja. Lehet, hogy a Microsoft később kiad egy új DXR verziót, amiben már gondolnak a voxelre is, de vigyázni kell a fixfunkció hardverre vonatkozó támogatással, mert könnyen papírnehezéket tudnak csinálni a mostani kártyákból.

    A VXGI-nak egyébként nincs értelme, ha DXR-ben csinálsz GI-t. Vagy az egyiket, vagy a másikat használod, mert ugyanarra valók.

    (#115) b. : Azt hoztad fel, hogy az RT magot használja, de az nem elérhető a DXR-en kívül. Nem tudod megcímezni máshogy a DirectX 12-ben. Tehát ha az RT magot használja, akkor muszáj kapcsolódnia a DXR-hez.

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

  • Abu85

    HÁZIGAZDA

    válasz b. #115 üzenetére

    Hát min? A VXGI az egy GameWorks library. Ez nem GPUOpen, hogy olyan API-ra írod át, amilyenre akarod, hanem kapsz egy DLL-t, ami jelen esetben támogat DirectX-et, és arra vagy kötelezve. A teljes forráskód hiányában ezt nem tudod megváltoztatni.

    (#129) Cyberboy42: Nem az, hogy nem kell hozzá az RT mag, nem tudják hozzá használni, mert sokban különbözik a Crytek megoldása a DXR-től. A nem programozható ASIC egy adott problémára kínál megoldást, ha a problémát speciel máshogy oldod meg, akkor az ASIC semmit sem ér.
    Lehet ezt is gyorsítani. Vannak bizonyos részei, amelyeknek ez előny lenne. A probléma itt tényleg az, hogy ha minden gyorsítóstruktúrára fixfunkciós hardvert csinálunk, akkor záros határidőn belül lenne 10-féle ilyen egység a GPU-kban, ami messze nem egy ideális állapot.
    A legjobb egyébként talán nem is egy kőkemény fixfunkciós egység, hanem egy tesszellátorhoz hasonló megoldás, aminél egy részleges programozhatóság azért biztosított lenne. Csak a tesszelláció problémaköre sokkal egyszerűbb.

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

  • Abu85

    HÁZIGAZDA

    válasz atok666 #21 üzenetére

    Paraméterezhető. Itt van egy kép a voxelizációról. [link]

    (#157) atok666: Nem igazán. A voxel csak reprezentáció, csupán a számoláshoz. Kirajzolás szintjén csak üres négyzetek. Az adatok, amiket hordoznak, azok a lényegesek.

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

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