- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- 3D nyomtatás
- Azonnali notebookos kérdések órája
- Nyugdíjazza a tuningra szabott, első Raptor Lake-eket az Intel
- Ízlésesre sikerült a Galax alacsony profilú GeForce RTX VGA-ja
- Milyen SSD-t vegyek?
- ThinkPad (NEM IdeaPad)
- Milyen egeret válasszak?
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
Hirdetés
-
AMD Radeon undervolt/overclock
lo Minden egy hideg, téli estén kezdődött, mikor rájöttem, hogy már kicsit kevés az RTX2060...
-
Sorra osztja a dollármilliárdokat az USA a chipgyártóknak
it Az Intel, a TSMC és a Samsung után a Micron következik, ők is tetemes összegű támogatást kapnak az USA-tól a chipgyártáshoz.
-
QLC-s Team Group SSD jön a PCI Express 4.0-s halmaz belépőszintjére
ph A vállalat fél évtizedes jótállással kísért újdonságát tárhelymérettől függően 512, 1024, valamint 2048 TBW tartósságra hitelesítették.
Új hozzászólás Aktív témák
-
Phvhun
őstag
Az egész cikket kb értelmetlenné tette hogy nem írtad le hogy mi is konkrétan az adatorientált programozási modell, esetleg egy példával kiegészítve.
-
sayinpety
tag
Regebb ota letezik a problema. A latency novekedese az oka. Az L1 1-3 ciklus, a main memory sokkal tobb. Az objektumorientalt programozas egyszerre jo es rossz. Egy osztalyra van kodod, amit futtatsz tobbszor. Ha a kod i/d cache misst eredmenyez, akkor mindegyik futtatas draga. Minden miss utan a main memory latencyvel lassul a kod. A DOD megszunteti az i/d cache misst az elso futtatas utan. A DOD kod csak egy for ciklus.
A multithread is nehez, ha nem lehet tudni elore hogyan lesz elerve az adat. Offload is lehetetlen jobb adateleres nelkul. Egy game kiveteles program. Tudni lehet minden adatrol amihez hozzaferunk. Esszeru elobb az adatokat optimalizalni, aztan a kodot.
-
Meteorhead
aktív tag
Csak én nem értem, hogy ez a gyakorlatban mit jelent? Lehet, hogy eddig nem követték végig az adatok betöltését és a kiírásokat, de azért lehetett tudni, hogy mikor mit csinál egy motor. Adatpárhuzamosságra tervezni egy motort ennyire újnak számít?
-
atus72
senior tag
En nem fikazok de nekem sem jott le hogu pontosan mi is ez az uj paradigma
A legjobb valami pelda lenne, de nem varom el Abutol hogy csinaljon egyet hanem valami link kellene hogy megnezzuk mi is ez. -
sayinpety
tag
válasz Meteorhead #7 üzenetére
Igen. A meglevo code base sok penzt emesztett fel. A valtast a cross-platform studiok a console generaciokhoz tervezik. Az elerheto game enginek jelentos resze nem veszi figyelembe az adatoptimalizalast/adatparhuzamositast, nem hasznalnak optimalis adatbetoltest. Allando a cache miss.
A DOD ma meg a console exclusive gamek privilegiuma.
[ Szerkesztve ]
-
marcell991
tag
Itt egy pdf a DICE oldaláról, egész jól elmagyarázza a problémát [link]
Developers, developers, developers, developers! http://youtu.be/KMU0tzLwhbE
-
Phvhun
őstag
válasz marcell991 #10 üzenetére
Érdekes.
-
Psych0
őstag
A gráfon lemaradt a processzor és memória performansz mértékegysége. Persze az is elég lett volna, hogy relatív performansz, de akkor is érdekes lenne, hogy milyen mértékegység esett ki. Gondolom hozzáférési idő, ami a processzorok esetében a regiszterekre értendő...
"As an online discussion grows longer, the probability of a comparison involving Nazis or Hitler approaches 1."
-
Goose-T
veterán
Beszabadult valaki az irodába, aki ért az SQL-hez is? Én régóta így írom a kódjaimat, most már tudom, hogy DOD filozófiával fejlesztek, tök jó. Ezen is látszik, hogy mennyire nincs átjárás a nagyvállalati szoftverfejlesztés és a játékstúdiók között.
Rockbandám: https://fb.me/scharlotterhodes *** Gitárelektronikai műhelyem: https://www.fb.me/goosetgitar
-
Meteorhead
aktív tag
válasz marcell991 #10 üzenetére
Magyarán rájöttek, hogy játék motorokban is van AoS vs SoA? Gratulálok.
-
sirpalee
csendes tag
válasz Meteorhead #15 üzenetére
Ez a folyamat már nagyon régóta tart. Az más téma, hogy a cikkíró csak most olvasott róla elsőnek.
raytraceisten és csodamedic
-
Raymond
félisten
Ott a pont. Egesz pontosan a konzolos jatekfejlesztesnel epp par eve a PS3 es CELL miatt volt nagy tema. Ugyanugy ahogy a SoA vs AoS is. Csak lehet hogy akkor a cikkiro meg nem kovette annyira tuzetesen a Beyond3D forumot igy nincs hatter info, csak most itt-ott van egy ilyen buzzword-el teli cikk ami siman sebbi egy darab ottani hozzaszolasa alapjan is keszulhet. Ahogy keszult is most mar nem egyszer
Privat velemeny - keretik nem megkovezni...
-
sayinpety
tag
Cellnel korabbi a problema. A Cellel csak nagyobb figyelmet kapott. A console kulon kategoria. Cross-platform fejlesztes soran a 3-4 eves keses lehetseges. Ma csak azert kap ujra figyelmet, mert mindenki elkezdi alkalmazni. A next-gen consolehoz/korszakhoz uj enginek keszulnek. A regi code base mar kitermelte a befektetest.
A Mantle sem vilagrengeto ujdonsag. A GCM volt az elso modern low-level/high-performance API, am a koncept csak most kerul at PCbe. Fel evtized kesessel. -
lenox
veterán
A koncepció már egy évtizede létezik
A koncepcio kb. onnantol letezik, hogy kitalaltak a cache-t. Nem veletlenul talaltak ki, persze mindig ra lehet csodalkozni, hogy je, ha nem szopatom a cachet, hanem ertem, hogy hogyan mukodik, akkor mennyivel gyorsabb tud lenni valami, de monduk ezt tul nagy felfedezesnek nem neveznem.
-
Reverend
tag
Bizony! Csak valószínű akik most felfedezték újra a DOD-t, azok még nem éltek 1995-ben, amikor sz@ptunk a cache associativity-vel [link].
Csak hogy a fiatalok is értsék: ha egy cache 2 way assoc. és nem mellesleg (pl.) 4096 byte széles (pl. 8k L1 cache), azt jelenti, hogy a memóriában minden egész 4096 byte-os címről származó adatból 2-őt tud tárolni. Azaz ha beolvasol egy adatot az egyszerűség kedvéért 4096-ról, majd 8192-ről, ez még a cache-ben lesz. De ha beolvasol egyet 12288-ról, kiüti a korábbi adatot. Ha ezek után írsz egy kódot, mely két nagy tömböt összead egy harmadikba, és történetesen a tömbök alignolva vannak 4096-ra (mert pl. a méretük ennek egész számú többszöröse, és egymás mögött vannak), akkor látható, hogy szépen folyamatosan cache missed lesz. De ha az eredmény tömböt eltolod a cache blokkméretével (cache line, valahol 16 - 128 byte között processzortól függően), akkor sosem lesz cache missed, egész pontosan csak blokkhatárkor. A kód többszörösére gyorsul. Tipikus DOD probléma, illetve annak egy tovább bonyolított verziója.
Ezzel a problémával egy 486-os gépen küzdöttem 1995 körül. Ha jól emlékszem.
-
Jim Tonic
nagyúr
Klassz. Akkor most visszatérünk majd oda, amit régóta állítanak néhányan, hogy az OO ugyan kényelmes, de óriási overhead lesz a végeredménye?
Alcohol & calculus don't mix. Never drink & derive.
-
sirpalee
csendes tag
válasz oraihunter #23 üzenetére
Volt smiley? Nem. Akkor gondolom egyértelmű a válasz.
raytraceisten és csodamedic
Új hozzászólás Aktív témák
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Volkswagen ID.7 menetpróba
- Xiaomi Redmi Note 5 Global
- Autós topik
- Gmail
- Kerékpárosok, bringások ide!
- Ukrajnai háború
- Elektromos rásegítésű kerékpárok
- OFF TOPIC 44 - Te mondd, hogy offtopic, a te hangod mélyebb!
- További aktív témák...