- Ez össze van rakva - Segway Ninebot F3 Pro
- Fotók, videók mobillal
- Xiaomi 15 - kicsi telefon nagy energiával
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Milyen okostelefont vegyek?
- Megjött a Honor szuperakkumulátoros mobilja
- Samsung Galaxy S23 Ultra - non plus ultra
- Samsung Galaxy Watch4 és Watch4 Classic - próbawearzió
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Motorola G86 - majdnem Edge
Új hozzászólás Aktív témák
-
-
hapakj
őstag
Így van. Tehát az nVidia hw alkalmas rá és képes is rá. Igaz, főleg 6-8 magnál jön meg a gyorsulás, akkoriban meg az még annyira nem nagyon volt jellemző. Érdemes lenne bepattintani pár régebbi VGA-t valami erős több magos CPU mellé s megnézni mit csinálnak Deferred Contexttel. Mint írtam a tech kicsit megelőzte a korát
-
hapakj
őstag
Hát amúgy deferred contexttel kapcsolatban érdekes, hogy az intel azért kimérte és kétszer is megemlíti a cikkben, hogy a hw-es gyorsítás a dx11 deferred contexttel hoz gyorsulást. A grafikonon is látszik, hogy 1080 szépen gyorsul deferred contexttel, míg a Vega az lassul.
Bár az nvidia is csak 6-8 cpu magnál kezd gyorsulni. Valszeg nem volt hatékony a deferred context ezt aláírom, meg igazából vágom a technikai hátterét is, hogy miért. De látszik, hogy megfelelő mennyiségű maggal és hw-es támogatással hozott eredményeket.
Valszeg abban az időben, még nem volt jellemző ennyi CPU mag, meghát nvidian kívül senki se támogatta, szóval,nah, nvidia kicsit megelőzte a korát
-
hapakj
őstag
Ha a szabvány nem mond semmit arról, hogy mi legyen a nem szabványos kód esetén, akkor mitől lesz rossz az implementáció? Ok írok egy példát.
Feladat, számoljuk ki 1*A + 1*B + 0*C -t. A szabvány azt mondja, legyen A, B és C jól specifikálva, ha nincs dobjunk egy errort.Definiáljuk A = 3, B = 4,
C - nincs definiálva
1) nvidia: visszaad 7-et (A+B), és dob egy hibát - szabványos, conform
2) sok implementáció (pl intel, apple): visszaad 0-t, dob egy hibát - szabványos, conform
3) amd: visszad: 34224-t, nem dob hibát, crashel- öööhmmm
Az OpenGL szabvány remekül leírja, hogy csomó objektum, mikor van valid meg invalid stateben és hogy ha invalid resouce-t használsz, akkor error-t kell küldeni meg undefined behaviour de ennyi. Pl textúra. Akkor lesz valid, ha összes mipchain fel van töltve. nVidia driver rajzol annyival, amennyi fel van töltve, más implementáción fekete kép. Persze mindkettőn lekérdezhető, hogy invalid a texture state. S ez mind szabványos viselkedés.
Az hogy hibák nehezen jönnek szembe az az OpenGL design hibája is, hogy minden művelet után le kell kérdezni volt-e hiba? Az ARB debug output ebben már előre lépés volt, hogy van callback.Amúgy a 3 eset közül, hát a 3. az nyilván no-go, az 1 és 2 kérdéses, másak az előnyei. 1-el gyorsan lehet haladni, lehet iterálni, algoritmusokat kipróbálni, de veszélyes, hogy esetleg valami olyat csinálunk, amit nem akarunk. A 2. opció biztosítja, hogy jó kódot írunk, de sokkal nehézkesebb lehet vele haladni.
Amúgy a Vulkan sem egy szent grál ilyen téren. Ott ugye megfogták és kiszedték a teljes hibakezelést az implementációból. Lényegében mindenki driveréből nvidia driver csináltak, hiszen bármi nem szabványos kód is működhet véletlenül, ha a hw-en megengedett
S elő is fordul, mert nem mindenki fog minden validációs layerrel bekapcsolva fejleszteni. Pl szinkronizációs layer, mert kegyetlen lassít. Lehet dugig van intelen szinkronizációs hibákkal a kód, de remekül megy, mert ott nem kell szinkronizálni a hw jellegéből adódóan.
Ott az az előrelépés, hogy elvileg vannak a szabvány validation layerek, s elvileg azok jelzik a hibákat, s talán majd minden implementációval működni fog. De ennek ellenére vannak vendor specifikus layerek is. Amúgy jah, nagy előrelépés, lemásolták a koncepciót amit DX mindig is követett -
hapakj
őstag
A szabvány nem csak azt határozza meg, hogy mit lehet, hanem egyben azt is, hogy mit nem lehet.
- s hogyan sérthette meg az nvidia implementációja azt amire az OpenGL specifikációban nem tértek ki? Tehát Undefined Behaviour? Ez a szabvány hibája, nem pedig az implementáció-é.Nyilvánvaló, hogy ha bele van írva a specifikációba valami, akkor azt úgy értelmezik, hogy úgy működjön, ahogy le van írva,
- nem tapasztaltam, hogy ezt az nVidia implementációi bármikor is megszegték volna. Mint írtam szabványos kóddal semmi gond nem volt nVidian.Hát van itthon Terrascale kártyám. Explicit azt írta ki, hogy a Concurrent CommandLists nincs támogatva D3D11 alatt, ahogy nVidia Tesla kártyákon sincs, de Fermi-n viszont már igen.
-
hapakj
őstag
A "nem szabvány követő implementáció" konkrétan megkérdőjelezi egy API létjogosultságát.
- Mi? Az nVidia implementáció követte a szabványt. Semmi problémája nem volt a szabványos kóddal, tökéletesen működött rajta. A helyzet az volt, hogy a szabványt nem betartó kód is ment rajta. De itt a fejlesztő nem követi a szabványt, nem pedig az implementáció. Arra meg általában az OpenGL specifikáció is kb annyit írt, hogy Undefined Behaviour, abba meg az is belefér, hogy működik a dolog. Egyébként az általad említett ARB_debug_output ha jól emlékszem nVidia driverrel is szépen mutatta a nem szabványos használatot, amellett, hogy közben jó eredményt adott.Az viszont nem szabvány követés, hogy szabványosan megírt kód nem működik. Amit az AMD csinált.
Az AMD az OpenGL meghajtóját kétszer is újraírta.
- jóhát a tapasztalataim nem az API végnapjaitól vannak, hanem előtte. Hát jól tették, hogy újraírták.Bár abban az időben az Intel, meg nVidia driverei teljesen jók voltak
OpenGL-ben a több kontextus kezelése, meg amiket leírtál az nem multithread rendering. Ezekkel nem lehet párhuzamosan rajzolási parancsokat kiadni. Az általad említett usecasekre sem nagyon találtam példát, s mint említetted elég körülményes.
A DX11 deferred context az igazából API runtime funkció, tehát mindenütt elérhető emulálva, de igazából kell hw-es, meg driver support. Azt mondjuk elég régi nVidia kártyán is láttam támogatva, hasonló korú AMD-sen nem. Illetve még egész modern Intelen sem. Még nem mélyedtem bele a témába, de inkább hanyagolt funkciónak tűnt, mintsem nem működőnek, amiatt mert sok helyen kb csak emulálva ment.
-
hapakj
őstag
Mint írtam, nem volt nagy nehézség váltani az Intel IGP-re és kijavítani a hibákat.
Nem szépítek én semmit, az nVidia nem szabvány követő implementációja nyilván nem tett jó az API-nak, bár szerintem az AMD nem működő implementációja sem
Amúgy nem gondolnám, hogy az nVidiának bármi érdeke lett volna kinyírni az OpenGL-t, hiszen egy high level API-n keresztül jobban a kezébe tudja tartani a kontrolt, s ugye az nVidiánál ez nem ördögtől való. Az OpenGL-t inkább az nyírta ki, hogy PC-n nem sok értelme volt. Valszeg az AMD OpenGL driverei is azért voltak vackok, mert a DX-re koncentráltak.
Nomeg, hogy az OpenGL teljesen alkalmatlan multithread renderingre. már a DX11-ben is voltak erre megoldások, bár ha jól tudom azt is ténylegesen csak nVidia implementálta.
-
hapakj
őstag
Hát nemtom. Szerintem akármilyen szabványt használunk, teljesen alap, hogy a lehető legtöbb gyártó implementációval tesztelünk. Kb a legkevesebb volt kijavítani az nVidia specifikus szabványtalanságokat, cserébe a hw-ükön lehetett haladni a fejlesztéssel és jól és hamar implementálták az új featureöket.
Az a fejlesztő aki nem tud beröccenteni, két - három másik platformot, pl Intelt, aminek kiváló szabványos implementációja volt az magára vessen.
Azzal viszont meg egy fejlesztő sem tud mit kezdeni, ha a driver szar. Jah, igazából tudtunk. Be kellett rakni egy másik code path, ami nem PBO-n keresztül tölti fel a textúrákat csak hogy menjen AMD-n is.
-
hapakj
őstag
A mindent meglévő implementáció azért nem működik, mert mindent megeszik.
- Hogy mi? Mint mondtam a kód a legtöbb platformon működött.A szabványt meglehetősen szigorúan implementáló Intel és Apple OpenGL driverekkel is. A legtöbb mobil platformon is működött és nvidia-n is. Tehát ezek működő implementációk voltak.
AMD-n pedig nem működött.
Az hogy az nVidia nem teljesen szabványos implementációja hogyan volt káros az OpenGL-re az egy teljesen más kérdés, s az is más, hogy az AMD nem működő drivereket produkált.
-
hapakj
őstag
Ez mind világos. Tisztába vagyok vele, hogy az nVidia implementációja mindent is megevett, de legalább működött.
AMD viszont. Hát abban az időben rengeteg probléma volt vele
A fentebb említett srgb textúra feltöltés PBO-val. Vagy a compute shaderek se nagyon nyekkentek meg
Közben semmi hibát nem adott se nVidián se Intelen és helyes eredményt produkált, meg a debug warningok is ki voltak javítva erre odafigyeltünk. Egyszerűen az AMD implementáció messze nem működött. Ment is nekik bug report, de érdemben nem reagáltak
Hja az srgb PBO feltöltés aztán pár hónappal később meg is javult. Nyilván mert az konkrétan hiba volt.
az AMD és az Intel OpenGL implementációja legalább az egyértelműen hibás kódot nem hajtja végre.
- hát az AMD a helyeset se -
Predatorr
őstag
De, pont, hogy logikus. Láttam már pár szoftvert. Anno kivágták államvizsgáról, aki hibásat írt (külön téma volt a hibakeresés), ma meg „iparági norma” a szar.
Szopjanak a fejlesztők, azért fizetjük őket, nem? Nem rémlik, h mondjuk DOS alatt annyira hiányzott volna bármiféle vezérlőpult, tehát nincs rá szükség. Olyan, mint autókban az elektronika: elfedi a szar kunstrukciót. Sőt, évekig nem kellett cserélni. Most meg ezzel kényszerítenek újabb vásárlásokra, aztán nV egyszer csak fizetőssé tesz a drivert is...
AMD RTX remek kódbázis... -
hapakj
őstag
hááát, ez annyira nem ment, hogy nem a specifikációval értelmezésével volt a gond. Csodálkozom, hogy egyáltalán át mehetett a conformance teszteken. Valszeg csak addig kalapálták a drivert, míg azon át nem ment
Az egyik probléma srgb textúrák PBO-n keresztül feltöltése volt. Mire rájöttem mi a hiba és rá tudtam keresni, kiderült, hogy csomó fórum bejegyzés volt erről AMD dev fórumain, hogy mások is belefutottak.
-
NvidiaRTX
őstag
"hogy egy driver sosem lesz kész"
Igen ezt párszor már tapasztaltam AMD-nél és a konklúzióm ez lett:
Soha többet AMD."Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak"
A hivatalos szóvivő azt mondja amit mondanak neki meg amit szeretne hallani a nép (lásd a mostani kormány), míg a meg nem nevezett forrás vagy a kívülállók (444) sokszor a valóságot mutatják be. -
Új hozzászólás Aktív témák
Hirdetés
- gban: Ingyen kellene, de tegnapra
- alza vélemények - tapasztalatok
- Ford topik
- Milyen routert?
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Ez össze van rakva - Segway Ninebot F3 Pro
- Kerékpárosok, bringások ide!
- SSD kibeszélő
- The Division 2 (PC, XO, PS4)
- Fotók, videók mobillal
- További aktív témák...
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest