Hirdetés

Keresés

Hirdetés

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

  • Abu85

    HÁZIGAZDA

    válasz copass #39 üzenetére

    Igen, csak professzionális szinten egy GPU-val az "out of memory"-ig jutsz el, ami szart sem ér.

    #47 copass : Nem a 4K-s képpel van bajuk, hanem a 200 GB-os modellekkel. Threadripper PRO mellé tudnak rakni 2 TB memóriát is, amibe ezek beleférnek.

    #45 Duracellm... : Nem, aki Threadripper PRO procit vesz, az nem 12-16 magért veszi. Ekkora teljesítményt szerezhet a sima Ryzen PRO sorozatból 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 copass #51 üzenetére

    Nincs végtelen VRAM. Annyi van, amennyit egy GPU mellé pakolnak, vagy ha kell több VRAM, akkor két A6000-es összeköttetésével kaphatsz 96 GB-ot, de akkor az egyik GPU nem működik, és ugye a másik kártyán lévő 48 GB elérése lassabb.

    A ProRendernek van egy úgynevezett "out of core" rendering képessége, amivel a VRAM-ba nem férő objektumokat el tudja helyezni a rendszermemóriában, és akkor el is megy értük a GPU, de ennek az a hátránya, hogy a rendszermemória elérése kurva lassú, tehát ugyan elméletben megszabadulsz a GPU-s "out of memory" hibaüzitől, csak közben annyit lassulsz, hogy egy Threadripperrel jobban jársz. Tehát igazából ez az "out of core" rendering ad is meg nem is. Leginkább arra jó, hogy hobbistaként ne vágj eret a sokadik "out of memory" hibaüzenet után, mivel ezzel a móddal ez nem lehetséges, de amint jelentősen meghaladod a VRAM határát, a lassulás elképesztően nagymértékű lesz, olyannyira nagy, hogy a GPU-s gyorsításból GPU-s lassítás lesz.

    Az UE5 továbbra is raszterizálás, aminek van haszna a valós idejű leképezésben, de egy profi animációs stúdió továbbra is sokkal jobb minőséget akar magának, mentesítve magukat az UE5 leképezőjének fake hatásai alól.

    A GPU-val azt lehet játszani, amit eddig. Szépen feldarabolod a jelenetedet apró szeletekre, hogy beférjen a VRAM-ba, és úgy megoldod a vizualizációt. Aztán, ha mindent jónak találsz, akkor megcsinálod a CPU-s rendert az összes adattal.

    [ 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 copass #61 üzenetére

    Az a gond, hogy ráálltál erre a CPU render rossz irányra, amit most írsz folyamatosan, de addig ez lényegtelen, amíg nem tudod megmondani azoknak a cégeknek, akik "tonnaszámra" veszik a 64 magos Threadrippert, hogy miért rossz.

    A GPU alapvetően addig jó a rendereléshez, amíg beleférsz a memóriájába, illetve amíg a jelenet egyszerű. Amint kifutsz a memóriából jön az out-of-memory, míg ha egy picit is komplex a jelenet, akkor meg jön a jelentős hatékonyságvesztés, amitől már lazán le tud verni egy 64-magos Threadripper egy csúcs-GPU-t is. Egyszerűen azért, mert a teljesítmény konstans a jelenet komplexitása nem befolyásolja jelentősen. És a helyzet az, hogy professzionális szinten alig vannak szimpla jelenetek, tehát értik azt, hogy a GPU jó ezek alatt, de mit kezdjenek vele, amikor nem hobbi szinten foglalkoznak ezzel, hanem professzionálisan...

    Aki hobbiból csinálja nyilván számoljon GPU-val, nekik kellően egyszerűek a jeleneteik, hogy a GPU-k erőteljes limitációiba ne fussanak bele. De mindenki más számára a CPU a gyorsabb.

    [ Szerkesztve ]

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

  • hokuszpk

    nagyúr

    válasz copass #64 üzenetére

    nemvagyok egy renderszakerto, de az még nekem is lejon, hogy ABU kb. olyasmirol beszel, hogy megcsinaljak a previewet gpuval, a veglegeset meg rakuldik a cpu -s megoldasra.

    Első AMD-m - a 65-ös - a seregben volt...

  • Abu85

    HÁZIGAZDA

    válasz copass #64 üzenetére

    Jelen pillanatban nincs olyan alternatíva, ami képes helyettesíteni CPU-t. Hobbi vagy félprofesszionális szinten lehet bohóckodni GPU-val, de sem kellő memória nincs rajta, se kellően konstans teljesítmény nincs benne. És a konstans teljesítmény nagyon lényeges, mert az a GPU gyenge pontja. A komplexitás növelésével a CPU konstansan lassul, tehát egy adott CPU-val egy tízszer komplexebb jelenet nagyjából tízszer tovább tart. Egy GPU-ra ez nem igaz, ott a tízszer komplexebb jelenet százszor tovább tarthat. És ez professzionális szinten óriási probléma, mert amíg egy hobbi vagy félprofesszionális felhasználó elvan azzal a komplexitással, amiben a GPU teljesítménye nem zuhan erőteljesen be, addig professzionális szinten ez már nem jellemző.

    Azt tudnod kell, hogy az AMD konkrétan azért csinálta a Threadripper sorozatot, mert amíg ez nem volt, addig a stúdiók vagy megvették a leggyorsabb mainstream asztali procit, vagy mentek szerverekre. Egyiket se szerették, mert mainstreamben nem volt teljesítmény, a szerverben pedig olyan dolgokat fizettek meg, amiket nem használtak. De más választásuk nem volt, muszáj volt szerverprocit vásárolniuk, ami abban az időben nagyrészt Xeon volt. Ebbe az idillbe szert bele az AMD a Threadripperrel. Felkínálta a szerverszintű teljesítményt ötödáron. És ez annyira bejött, hogy mindenki fejvesztve rohant Threadripperre, mert végre nem kellett kifizetniük a szerverprocik funkcióit, amiket nem is használtak. Azóta annyi változott, hogy gyakorlatilag az Intel eltűnt a HEDT-ről, így az AMD most már nem ötödáron adja a szerverszintű teljesítményt, hanem féláron. Még így is megéri a cégeknek, mert a felezett költség is előnyös számukra, de nyilván látszik, hogy az Intel itt már nem alternatíva, a GPU-k sose voltak azok, így az AMD arra a pontra áraz, ami számukra egy profitmaximalizálási pont.

    Amiket felhoztál demók pont semmi sugárkövetést nem tartalmaznak. Szimpla raszterizációk. Ráadásul a The Matrix Awakens csak konzolra van. Nem véletlenül nem hozták még PC-re, ugyanis a jelenlegi kódnak 41 darab Zen 2 mag kell ahhoz, hogy működjön a valós idejű tartalomdekódolás. Nyilván az EPIC ezt meg tudja oldani, mert 64 magos Threadrippereken fejlesztenek, de rajtuk kívül annyira sok játékosnak nincs ilyen gépe. A konzolokon pedig erre dedikált részegység van, ami a PC-kből hiányzik. De ezeknek a demóknak a célja a valós idejű leképezés, és emiatt eléggé fake-ek, ami látszatra jól néz ki, de offline szinten abszolút nem lenne elég.

    A DirectX és Vulkan Raytracing pedig megközelítőleg sem olyan komoly, mint a rendermotorokban alkalmazott megoldás. Lényegében csak effektekre jó, de mivel nincs az API-kban támogatás a dinamikus LOD-ra, így ott is extrém mértékben korlátozottan. Azért kell nagyítóval keresni a változásokat a játékokban az RT on és off között. Egyszerűen túl limitáltak a lehetőségek a jelenlegi hardverek és API-k miatt. Van olyan fejlesztő, aki elsőként szállt fel az RT-re, de már le is szállt róla, lásd DICE. Ennek az oka, hogy egyszerűen nem éri meg vesződni a jelenlegi, extrém korlátozott lehetőségekkel, mert a minőség alig javul. Ma ez arra jó, hogy a játékosok bekapcsolják, és azt mondják, hogy a "sebességzuhanáson kívül nem látnak semmit". Ez nyilván sokat változik majd a traversal shader megérkezésével, de addig a lehetőségek nagyon-nagyon limitáltak.

    [ Szerkesztve ]

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

  • copass

    veterán

    válasz copass #69 üzenetére

    "Van olyan fejlesztő, aki elsőként szállt fel az RT-re, de már le is szállt róla, lásd DICE."
    Battlefield 2042 RT támogatssal jött ki...
    benézted, ez is...

    "amikor valaki baromságokat beszél, megszületik egy unikornis"

  • Abu85

    HÁZIGAZDA

    válasz copass #76 üzenetére

    A Lumen leginkább azért szólt akkorát, mert az UE-ben eddig hasonló GI megoldás nem volt. De minőségileg a raszterizálást alkalmazó megoldások közül még mindig a CryEngine-féle SVOTI viszi a prímet.
    A legjobb megoldás alapvetően egy RT-féle GI, de ez kurva lassú és dinamikus LOD nélkül marhára memóriapazarló, így ma még mindig trükközünk. Az SVOTI abból a szempontból előnyösebb, mint a Lumen, hogy alkalmaznak rajta egy olyan LOD határt, amin belül mindent háromszögekre számolnak, hogy precíz legyen, és ezen a határon túl jön a voxeles trükközés. Persze ez nagyrészt annak köszönhető, hogy a Crytek már fél évtizede bevezette ezt, tehát bő 5-6 évvel több fejlesztés van a saját implementációjukban, mint a Lumenben, így természetes, hogy a Lumen nem ugorja rögtön át az SVOTI-t, de hasra esni nem kell tőle csak azért, mert korábban az UE-ben nem volt értékelhető GI, és most lett.

    Viszont nem animációs sorozatokat készítesz, ahol megint tudják a cégek, hogy mi a lassú és mi a gyors. Sőt azt is tudják, hogy mekkora memóriát foglal le a jelenet. Ezért mondtam, hogy a saját kis világod vetíted ki a piacra, és elképzelhetetlennek tartod, hogy vannak olyan piaci szereplők, akik 200-300 GB-os jelenetekkel dolgoznak. Egy ilyen jelenet nálad is csak CPU-val működne.

    A komplex jelenet abból a szempontból probléma, hogy a GPU-k egyfajta SIMT rendszerek. Amikor kapnak egy shadert, akkor annak a shadernek van egy regiszternyomása. A rendermotorokben azért nem ritkák azok a fajta übershaderek, amelyek olyan jelentős regiszternyomással dolgoznak, hogy egy GPU-n belül a multiprocesszor nem tud egy szálnál többet futtatni párhuzamosan. Ezzel bukod is a GPU sebességét, mert nincs elég szál arra, hogy átlapold a memóriakésleltetést. Ez a probléma a CPU-knál azért nem gond, mert azok eleve egy szálra optimalizált magok, és kurva sok cache-t használnak egy szálra levetítve. A GPU-k addig a pontig gyorsak és hatékonyak, amíg a regiszternyomás az optimális wave-határon tartja a működést, amint egy olyan shader jön, hogy szuboptimálissá válik a konkurens wave-ek alacsony száma, rögtön jelentősen veszít a hardver a sebességéből, mert abban rejlik a GPU ereje, hogy párhuzamosan dolgozik, de ha egy szálnak annyi regiszterre van szüksége, amennyi összesen van a multiprocesszorban, akkor nem nem tud a GPU második szálat indítani, vagyis az adatpárhuzamos végrehajtásnak lőttek. Emiatt tudják a CPU-k lehagyni komplex jelenetekben, komplex shaderekkel a GPU-kat.

    [ 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 copass #78 üzenetére

    Abban a játékban 3 virtuális méterig számolnak sugárkövetést. Az lenne a csoda, hogy ilyen extrém korlátozott működés mellett lassú lenne. Csak ugye ennyi a jó minőséghez nem igazán elég, ezért alkalmaz más módszert például az Unreal Engine 5 vagy a CryEngine 5, vagy a Frostbite, stb. Ők is szívesebben írnának egy RTGI-t, ami sokkal egyszerűbb, csak a jelenlegi API-kkal vagy rossz minőségű lesz (lásd Metro), vagy memóriazabáló.

    Persze, hogyne... azért vesz ez a szektor 64 magos Threadrippereket. Fontos, hogy hamar kész legyen.

    Mindkettő. 200-300 GB azért lényeges, mert manapság nagyjából akkora egy modell, amivel dolgozik egy professzionális stúdió. És nyilván azért vesznek 2 TB-ot a Threadripper mellé, mert bizony több ilyen modellel kell is a 2 TB memória. Ezért írtam, hogy attól mert te még sosem dolgoztál ilyennel, ez még létezik.

    A csalással az a gond, hogy időbe kerül. Azzal, hogy kihozol egy sculptingolt modellt, majd elkezded optimalizálni, lementeni az adatokat normal mapba, csökkenteni a poligonszámot, a modell méretét, stb időt veszítesz. Ez ugyanis mind emberi munka. Mindezzel együtt minőséget is veszítesz, ami esetenként elfogadható, de néha nem az. Akiknek van pénze rá, azok vesznek 2 TB RAM-ot és egy bivaly CPU-t, aztán mehet a móka a sculptingolt modellel. De az is CPU-t vesz, aki tudja a GPU-k limitjeit. Ezekkel ugyanis fentebb írtam, hogy addig nyersz sebességet, amíg olyan shaderek futnak, amiket tudsz párhuzamosan számolni. Amint soros feldolgozásra kényszerülsz a GPU-n, rögtön sokkal jobb lesz a CPU. És hát ezeket a limiteket egy mai GPU-n nem nehéz elérni, mert az a nagy büdös helyzet, hogy mindegyik GPU statikus erőforrás-allokációt használ. Ez majd akkor fog sokat változni, ha valaki áttér a dinamikus erőforrás-allokációra, csak az nagyon sok tranyót igényel.

    A piac ettől még elvan a GPU-kkal, a csóróknak nincs más választása, de akinek van pénze rá, az simán veszi a CPU-kat, mert sok memóriát lehet venni mellé, és konstans a teljesítménye.

    [ 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 copass #80 üzenetére

    Ha elég lenne arra, hogy jól nézzen ki, akkor a top motorok is ilyet használnának, de látható módon egyik sem használ ilyet. Az UE5 is másfele megy, a Frostbite, a CryEngine, gyakorlatilag mindenki. Szóval, ha annyira jó az RTGI, akkor miért is nem használják az iparág top motorjai?

    Mármint a saját tapasztalatodból, amit kivetítesz a teljes piacra, pedig maximum az 1%-ára illik rá.

    Csak kezelhetetlennek hiszed, de pont az a lényeg, hogy simán kezelhető, csak elég memória és mag kell hozzá.
    Ugyanez a lényege az Unreal Engine 5-nek, hogy az általad felvázolt "industry standard workflow"-nak a felét kidobhasd, mert megcsinálja maga a motor. Ezzel az Unreal Engine 5-tel offline workflow szintjén dolgozhatsz, csak real time. Persze ehhez kell is egy erős gép, például PS5 és XSX.

    Vártam mikor megy át az egész személyeskedésbe. Nem vagyok ennek a híve, de ha gondolod, akkor csinálhatod, viszont olvasd vissza, amiket írtunk, és technikai magyarázatokat csak én hoztam, te pedig nem fogadod el, hogy a piacnak szüksége van a sok memóriára és a konstans teljesítményre, amit a GPU-tól nem kapnak meg.

    [ 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 copass #85 üzenetére

    Jó, volt róla rossz tapasztalatod, de ez egyéni tényező, az iparágnak még szüksége van a magas minőségre. Értjük, hogy neked nem kell. Semmi baj nincs ezzel, de az iparágra felesleges kivetíteni. Ha erre tényleg nem lenne szükség, akkor a Lenovo nem fizetett volna több tízmillió dollárt az AMD-nek azért, hogy csak ők árulhassanak Threadripper Pro munkaállomásokat fél évig. Le is rabolták a célzott szegmens nagy részét vele...

    Ha valamit elméletben sem tudsz megmagyarázni, az a gyakorlatban sem fog működni. ;)

    [ 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 copass #87 üzenetére

    Bátorkodom megjegyezni, hogy ebből a vitából én voltam az egyetlen fél, aki leírta, hogy mi a gond a GPU-val. Arra nem válaszoltál. Most tegyük félre a nyilvánvaló limitet, mint a memória. Mit kezdesz a GPU-val, ha egy olyan übershadert kell használnod a renderhez, aminek a statikus regiszterallokációja magas? Mondjuk 30 kB, ami egyáltalán nem ritka animációs filmeknél. Ilyenkor a GPU adatpárhuzamos végrehajtása sorossá változik, mert 30 kB-os regiszternyomás során az elméletben futtatható 10-30 wave helyett futhat egyetlen egy, azaz 1! Mit csinálsz ilyenkor a GPU-ddal, azon kívül, hogy elmész a boltba és veszel egy 64 magos Threadrippert, mert az egy CPU, és pont az ilyen komplex feladatokra ideális, amit éppen futtatni akarsz.

    A GPU az nem varázslat. Vannak igen komoly limitjei, amik szimpla minőség mellett nem jönnek ki, mert szépen tudod adagolni neki a konkurens wave-eket, de amint nem tudsz adni neki ilyet, rögtön összeomlik a teljesítménye, úgy az ezred részére.

    [ 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 copass #89 üzenetére

    Azért használnak GPU-t is, mert vannak szimpla jelenetek, amelyek nem dolgoznak komplex shaderekkel, és nem foglalnak sok memóriát. Ezekre jó a GPU is, sőt, jobb egy CPU-nál. A CPU akkor kell, ha a jelenet komplex, mert azokkal egy GPU nem birkózik meg.

    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