Vlákno názorů k článku
Grafické ovladače ve Windows 10 pomalejší než v Ubuntu od xyz - To musí chlapce z Redmontu docela zamrzet když...

  • Článek je starý, nové názory již nelze přidávat.
  • 2. 7. 2018 16:31

    xyz (neregistrovaný)

    To musí chlapce z Redmontu docela zamrzet když Linux staví bábovičky i na tom jediném pískovišti co jim zbylo. Mě to je víceméně fuk, ale dokážu si představit že by některým hračičků by tento benchmark mohl nasadit brouka do hlavy.

  • 2. 7. 2018 20:08

    Rhinox (neregistrovaný)

    Jen takovej detail: Ty testy byly v OpenGL a Vulcan. No a OpenGL (Vulcan) jiz davno neni (jeste neni) pro Microsoft prioritou. Tam se babovicky porad pecou an DirectX...

  • 3. 7. 2018 8:40

    Peter Fodrek
    Zlatý podporovatel

    Ale len preto, ze vývojári hier nevedia programovať korektne a DirectX je menej citlivé na otrasný kód ako openGL

    1. ex-inženýr Nvidie: Každou hru vydávají rozbitou, opravujeme to v driverech
    11. 3. 2015

    „Téměř každá hra je vydána rozbitá. Řeč je o významných AAA titulech od výrobců, kteří patří k nejznámějším v branži. Někdy řešíme i donebevolající porušení pravidel APU - jedna D3D9 hra se ani neobtěžovala s voláním BeginFrame/En­dFrame. Leccos jsou chyby nebo přehlédnutí - jeden titul byl vydaný s chybnými shadery, které silně snížily výkon našich ovladačů. Takové záležitosti jsou na denním programu bug-trackeru. Pak se na to někdo podívá, zjistí, co je v té hře zvorané a vytvoří záplatu, aby si s tím ovladač poradil. V ovladači už existuje dlouhá řada volitelných záplat, které prostě pro jednotlivé hry zapínáme nebo vypínáme - a pak jsou tam hacky specifičtějšího rázu - až po kompletní náhradu původních shaderů za verzi připravenou našim softwarovým týmem."
    https://diit.cz/clanek/bugy-ve-hrach-resi-ovladace-graficke-karty

    1.Running Left 4 Dead 2 on Windows 7 with Direct3D drivers, we get 270.6 FPS as a baseline.

    2.When we started with Linux, the initial version we got up and running was at 6 FPS. (potom opravili chyby v rendereri... a mali )

    3.After this work, Left 4 Dead 2 is running at 315 FPS on Linux. That the Linux version runs faster than the Windows version (270.6) seems a little counter-intuitive,

    (premigroivali oporavy chyb d Windoiws a hla...)

    4. Interestingly, in the process of working with hardware vendors we also sped up the OpenGL implementation on Windows. Left 4 Dead 2 is now running at 303.4 FPS with that configuration.
    http://blogs.valvesoftware.com/linux/faster-zombies/
    https://www.phoronix.com/scan.php?page=news_item&px=MTE1MjI
    https://www.phoronix.com/scan.php?page=news_item&px=mte1nze
    https://www.phoronix.com/scan.php?page=news_item&px=MTE0Njc

  • 3. 7. 2018 9:07

    bezprizorny (neregistrovaný)

    Lenže za to si môže Nvidia sama. V dobách, keď sa ešte vtedy s Ati predbiehali vo výkonoch, začali optimalizovať Shader-y pre rôzne AAA tituly, potom rôzne ohýbali vlastné API. Toto sa prejavilo aj na tom, že frame nemusí byť korektne ukončený, či mať korektnú hlavičku, lebo ten driver to nejako opraví za neho. Ovládače Ati, teraz AMD sú v tomto smere konzistentnejšie, ale aj ony mnohé opravujú. To je aj dôvod prečo sú tie ovládače také veľké. Obsahujú rôzne opravy a optimalizácie pre hry.
    A teraz mi povedzte ako ten vývojár príde na chybu, keď ten frame sa vykreslí korektne bez glytchov alebo fragmentov? A problém nastáva, len na niektorých kartách a len na niektorých verziách ovládačov? Za tento stav sú zodpovedný markeťáci z oboch táborov výrobcov grafických kariet, ktorí dotlačili svojich programátorov do rôznych "vylepšení".
    Ale je pre nich všetkých jednoduché ukazovať na vývojárov hier. Oni sú tí zlí, oni to nevedia, oni sa nedržia dokumentácie.

  • 3. 7. 2018 10:55

    Peter Fodrek
    Zlatý podporovatel

    > Ale je pre nich všetkých jednoduché ukazovať na vývojárov hier. Oni sú tí zlí, oni to nevedia, oni sa nedržia
    >dokumentácie.

    Ono sa toho nedržia ani programátori operačných systémov a potom sú nám obrany voči Specte,Meltdown atď. nanič...

    Every major OS maker misread Intel's docs. Now their kernels can be hijacked or crashed
    Grab those patches as Chipzilla updates manuals
    By Simon Sharwood and Chris Williams 9 May 2018

    Updated Linux, Windows, macOS, FreeBSD, and some implementations of Xen have a design flaw that could allow attackers to, at best, crash Intel and AMD-powered computers.

    On Intel and AMD machines, the software-generated interrupt instruction immediately after POP SS causes the processor to enter the kernel's interrupt handler. Then the debug exception fires, because POP SS caused the exception to be deferred to avoid the stack being in an inconsistent state.

    Operating system designers didn't expect this. They read Intel's x86-64 manuals, and concluded the handler starts in an uninterruptable state. But now there's an unexpected debug exception to deal with while very early inside the interrupt handler.
    https://www.theregister.co.uk/2018/05/09/intel_amd_kernel_privilege_escalation_flaws/

  • 3. 7. 2018 11:17

    bezprizorny (neregistrovaný)

    V poriadku, ale ide o to, že sú aj vývojári, ktorí sa držia dokumentácie, ale chyba môže nastať u každého a niekde pri generovaní geometrie sa nastaví zlý príznak, ale chyba sa neprejaví, lebo ju ovládač opraví.
    Takto sa chyby hľadajú naozaj ťažko.
    Prípadne volanie vyplníte parametrami podľa dokumentácie, ale nefunguje to, lebo nejaký AAA titul tam má chybu a ovládač to opravuje. Táto drobnosť je však opomenutá v dokumentácii. Prípadne sa Vám to znefunkční až po vydaní AAA titulu s novým ovládačom. Prípadne ak ste obaja dosť veľký je tam if a funguje oboje.
    A za to naozaj nemôžu herní vývojári. Otázkou je prečo sa tie chyby nehlásili herným vývojárom, aby si ich opravili?
    >Někdy řešíme i donebevolající porušení pravidel APU - jedna D3D9 hra se ani neobtěžovala s >voláním BeginFrame/EndFrame
    Toto mi nepríde ako chyba, ktorú má riešiť ovládač, tak prečo im ju neposunuli?

  • 3. 7. 2018 13:52

    Peter Fodrek
    Zlatý podporovatel

    >> jedna D3D9 hra se ani neobtěžovala s voláním BeginFrame/EndFrame
    >To mi nepríde ako chyba, ktorú má riešiť ovládač, tak prečo im ju neposunuli?

    Ale to bolo nahlásené, a výrobca hry to zvalil na ovládače

    >Prípadne volanie vyplníte parametrami podľa dokumentácie, ale nefunguje to, lebo nejaký AAA titul tam má
    >chybu a ovládač to opravuje. Táto drobnosť je však opomenutá v dokumentácii. Prípadne sa Vám to znefunkční
    >až po vydaní AAA titulu s novým ovládačom. Prípadne ak ste obaja dosť veľký je tam if a funguje oboje.

    Ten pán opisuje, že tam sú heuristické if-y resp switch-case-y

  • 3. 7. 2018 14:12

    unicode (neregistrovaný)

    A máte na to i nějaký odkaz, který by to rozebíral? Z pohledu programátora mi to přijde jako hoax, protože hry komunikujou s GPU skrz API, takže tam nevidím žádný prostor pro zmíněné "optimalizace" (kromě selekci těch profilů) a pokud ta hra dělá něco špatně, tak si toho přece musí všimnout už při vývoji. Navíc hry většinou používají nějaký engine, takže chyba by asi byla spíš tam, a pak by mi přišlo celkem idiotské hackovat individuální tituly.

    Historicky vím o nějakých případech, kdy MS např. hackoval malloc/free pro specifické programy (četl jsem o SimCity "memory use after free", takže MS upravil alokátor tak aby to dovoloval), ale toto jsou fakt staré věci a nechce se mi věřit, že by se něco takového dělo i dnes a jen kvůli výkonu. Je to nákladné a mnohem lepší je to opravit přímo v daném programu nebo enginu.

  • 3. 7. 2018 18:14

    j (neregistrovaný)

    2unicode: uz si nekdy zkousel u nejaky rozsirenejsi gamesy prejmenovat exac? To se pak zacnou dit veci ...

    A presne o tom to je, driver si checkuje co zrovna bezi a podle toho meni nebo uplne vypina nejaky nastaveni + klidne muze primo zasahovat do kodu, protoze nad tim proste ma kontrolu. Proc myslis, ze ty "ovladace" zabiraj na disku stovky MB. Driver pro HW ma par kB.

    U spousty games trebas nejde zapnout AA - i kdyz ho ve hre zaplej mas, ovladace to ignorujou. Kdyz ale prejmenujes ten exac, tak to najednou zaply je, jen se trebas zacne rozpadat obraz.

  • 4. 7. 2018 6:51

    bezprizorny (neregistrovaný)

    Nechal som sa trochu uniesť. Problém je, že som plietol dve veci dohromady.
    Historické, kde závod Nvidia vs Ati spôsoboval turbulentné zmeny a nekonzistencie v API a dokumentácii ako popisujem nižšie. Je to zároveň doba, keď si každé štúdiou vyvíjalo vlastný engine. Našťastie toto už pominulo asi pred 10-timi rokmi. V tej dobe Nvidia išla dravo dopredu, jej hry kreslili hry krajšie, rýchlejšie, jedným slovom bombovejšie. Aj preto majú týchto kostlivcov doma v skrini viac.
    A historické trvajúce, čo sú práve tie optimalizácie shader-ov. Začalo to v rovnakej dobe ako situácia s API, ale trvá to dodnes akurát spôsoby sa zmenili. Kým v dobách "drevených" disassemblovali do hlsl, prípadne glsl a optimalizovali tieto shader-y "ručne". Tak dnes by to pri tom množstve titulov nebolo možné, ale potreba pre "bombový" marketing trvá, preto majú tieto heuristické metódy na optimalizáciu shader-ov. Nie je to preto, že by vývojári hier nevedeli písať, prípadne optimalizovať shader-y, ale oni napíšu shader, ktorý funguje dosť dobre pre výrobcu (Nvidia, AMD) možno pre isté rodiny grafických kariet (séria 900, séria 520), podľa toho ako si nastavili požiadavky hry. Avšak už na jednotlivé karty to neoptimalizujú. To je práve je ten priestor, kde to robia výrobcovia ako som už spomínal nižšie aj preto majú ovládače stovky MB. Ťahajú si so sebou práve tieto optimalizované shader-y pre konkrétnu kartu.
    Rád by som poslúžil linkom, aby som tu nebol len za tlčhubu. Bohužiaľ herní vývojári o týchto veciach rozprávajú len pri pive. Ak niečo píšu na blogy, tak sú to veci, ktoré priamo súvisia s ich hrou ako obsah, nové featury, atď. Technické detaily verejne nerozoberajú aspoň, čo je mne známe.

  • 3. 7. 2018 9:45

    xyz (neregistrovaný)

    Tak jestli to co píšete je pravda, tak je nvidie fakt hloupá. Timhle způsobem akorát nvidia vzkazuje vývojářum her že můžou psát hovnokód a oni jim to "nějakej rozběhaj". Výsledek je samozřejně že občasné výjimečné game-specific záplaty se stanou jejich pomalu jedinou náplní práce.

  • 3. 7. 2018 10:58

    bezprizorny (neregistrovaný)

    Tie game-specific záplaty už sú dennou náplňou nemalého množstva programátorov u oboch výrobcov už pár rokov.
    Pozrite sa hlavne na stav u Nvidia, obrovský súbor s ovládačmi cca 300 MB. Rôzne utility na ladenie nastavení v hrách, ktoré to robia na pozadí bez zásahu užívateľa. GeForce Experience už svojím "optimizmom" v nastaveniach hier urobilo nemalo vrások na čelách vývojárov.
    AMD sa snaží u seba situáciu normalizovať, preto nie je v herných benchmarkoch taká "oslnivá".
    Pozor netvrdím, že to čo píšem je pravda, ale je to môj názor a moja skúsenosť s danou problematikou. Pravdu nepoznám, moje obvinenie markeťákov je podložené, len mojimi tvrdeniami. A to je málo, aby sme to vyhlásili za pravdu ;). Chcel som tu len poukázať na druhú stranu mince.

  • 3. 7. 2018 18:16

    j (neregistrovaný)

    Jo a vyvojari browseru vubec nedelaji presne totez ... 1/2 kodu libovolnyho browseru = reseni hownokodu webu/js/... Kdyby mel browser trvat jen na takovy trivialite jako ze tagy budou spravne (a neprekrizene) uzavreny, tak ti na 100% webu browser zobrazi "sorry error".

  • 3. 7. 2018 16:58

    andrej

    preco nevydavaju patche ku hram ale prisposobuju spavanie svojho API?
    Bolo by velmi elegantne keby nvidia vydala patch na hru lebo autori nevedia ako maju komunikovat s hw...

  • 3. 7. 2018 9:39

    Přezdívka (neregistrovaný)

    Zaprvé je to "Vulkan", ne "Vulcan".
    Za druhé, OpenGL, Vulkan a další GPU API se typicky skládají z userspace loaderu (ten sice u OpenGL kdysi skutečně dodával MS, ale počínaje Vistou tuhle zodpovědnost hodil na dodavatele GPU) a driveru pro konkrétní GPU, který má opět userspace část (nějakou tu .dll) a modul v kernelu (tentýž .sys modul mimochodem typicky používají i userspace části driverů pro všechna ostatní GPU používající API jako OpenCL, OpenVG, OpenMAX, DirectDraw, Direct2D, Direct3D, DXVA a kdo ví co ještě). Všechny zmiňované komponenty jsou v případě ne-MS API absolutně nezávislé na Redmondu nebo sdílené, takže je nemohou sabotovat ani kdyby chtěli, protože ty sdílené potřebují i pro vlastní API a nad instalací a používáním zbytku nemají žádnou kontrolu.
    Za třetí se už konečně naučte se rozlišovat DirectX a Direct3D, protože mezi Direct3D a OpenGL/Vulkanem (API pro 3D grafiku) je podobný vztah jako mezi DirectX a SDL (API pro vstup, 3D grafiku, zvuk, síťování, ...).