Reklama

mareknr

Příspěvky uživatele

Čo vlastne vieš o týchto tzv. "optimalizáciách"? Nikto z nás nevidel zdrojový kód GW a nikto z nas by ho nevedel klasifikovane ohodnotiť (a to hovorím ako človek čo má aj keď malé skúsenosti s programovaním počítačovej grafiky). Čo ti vlastne dáva sebavedomie takýmto spôsobom suverénne tvrdiť, že niekto píše somariny z oblasti o ktorej očividne nič nevieš? NVIDIA vôbec nemusí písať kód, ktorý priamo poškodzuje konkurenciu. Stačí keď si implmenetáciu features v GW navrhne tak, aby sedela jej grafikám. Takže napríklad Hairworks využíva teseláciu v ktorej je NV lepšia ako AMD a to sa potom prejaví aj na celkovom výkone. Na druhej strane TressFX zasa využíva hlavne compute shadere (čo Hairworks určite tiež) pretože jej grafiky sú až na Maxwell na tom v tomto smere lepšie. A môžeš sa čudovať ako chceš, ani jeden postup sa nedá považovať za dobrý alebo zlý. NVIDIi stačí napísať kód, ktorý efektívne beží na jej grafikách a o ostatné sa vôbec nemusia starať. A vôbec nemusia SW písať tak, že tam budú nejaké bomby, ktoré sa prejavia iba ak je hlavná grafika tá od konkurencie. To si myslíš, že zdrojový kód GW obsahuje priamo cesty, ktoré sa spustia iba ak je zdetekovganá grafika od AMD?

Tak pozor, async shadery nie sú žiadne nové shadery. Ide o to, že doteraz mohli grafiky pracovať v režme computing alebo rendering. Medzi týmito režimami sa museli prepínať a toto bralo časť výkonu (toto prepínanie má tiež svoju réžiu). Preto bolo potrebné, aby sa SW písal tak, aby takýchto prepínaní bolo čo najmenej. Napríklad computing môžeš využívať na aktualizáciu objektov, ktoré chceš vykresliť. Trebárs aktualizácia polygónu, ktorý reprezentuje povrch vody. A keď ich máš aktualizované, tak zasa môžeš renderovať. Asynchrónne shadere umožňujú práve to, že môžeš využívať aj computing aj rendering v jednom čase bez nutnosti medzi nimi prepínať a čakať kým sa daná úloha neskončí. Teda asyc shadery sú klasické shadery ako ich poznáme teraz. Len budeš môcť nad nimi vykonávať spomínané= 2 typu operácií. Neviem teraz či sa bude môcť jeden shader venovať takýmto rôznym úlohám alebo proste GPU v jednom čase alokuje disjunktné množiny shaderov, pričom jedna z nich bude renderovať a druhá zasa bude využitá na GPGPU (druhá možnosť je logicky najpravdepodobnejšia). Takáto je moja predstava, ale nekódil som niečo také, takže sa múžem mýliť. Každopádne už mám objednanú novú knihu od Franka Lunu pre programovanie v DX12. Som bol dosť spokojný s jeho knihou k DX11. Odporúčam objednať pre tých, ktorí majú záujem sa niečo aj naučiť namiesto obyčajného filozofovania bez základných vedomostí:

http://www.amazon.co.uk/gp/product/1942270062?keywords=frank%20luna&qid=...

Žiadna z terajších GPU nie je futureproof pre DX12. :-) Problém je, že sa s danými GPU hovorí čiste iba o DX12 ale už nie aký feature set reálne prípane HW podporujú. V tomto nezvíťazíš ani keď si kúpiš dnes grafiku od AMD. Výhodu zrejme získaš s asynchrónnymi shadermi (aj keď nikto nevie aká reálne bude), ale keď budeš chcieť kupovať DX12 grafiku s plnou podporou, bude to až v niekorej z budúcich generácií.

AMD grafiky nevydržia ďaleko dlhšie. Zastarajú minimálne výkonovo rovnako rýchlo a okrem toho žiadna dnešná grafika nemá plnú podporu pre DX12. Takže ak budeš chcieť práve toto, je jedno či máš dnes grafiku od NV či AMD, aj tak bude treba kúpiť novú v ďalšej generácii.

No nemám námietky voči tomu čo si napísal. Samozrejme čiste z obchodného hladiska. NVIDIA svoje postavenie naozaj využíva. Aj keď s prirovnaním k nezákonnému tendru moc nesúhlasím. Nikde nie je vyhlásené zadanie ku ktorému sa dáva ponuka s tým, že je jasné, že by to mala vyhrať NVIDIA. Vývojári ktorí spolupracujú s NV komunikujú aj s AMD (je to aj naopak). Problém ale často býva aj s AMD, ktoré buď proste nespolupracuje alebo odpisuje na maily sporadicky (nehovorím, že je to tak stále, je pochopiteľné, že AMD nemá prostriedky na spoluprácu so všetkými). Ďalej ak sa NVIDIA s vývojármi dohodne na spolupráci a dodaniu určitého SW, vrátane pravidiel jeho používania, tak na tom nie je nič nezákonné. Vývojárov do toho predsa nikto nenúti a ak súhlasia s danými podmienkami je to potom na nich. Ak urobia niečo s čím užívatelia nesúhlasia, tí môžu protestovať rôznymi formami ako nekúpiť či vrátiť danú hru. Dobrý príklad tohto je posledný Batman pre PC. Niekedy stačí aj masívna kritika ako u Witchera 3 kvôli Hairworks čo nakoniec vyústilo k pridaniu dodatočnej konfigurácii tohto feature, ktorá mala byť v hre od začiatku.

Prosím ťa maltra. Takýmito komentármi robíš akurát klauna sám zo seba. Za celý čas čo píšeš si sa nikdy nevyjadroval technicky z čoho usudzujem, že o počítačovej grafike a samotnom renderingu nevieš vôbec nič. Normálne sebavedomý človek s kritickým myslením si aspoň uvedomuje kde sú hranice jeho vedomostí a nebude takto smiešne napadať iných hovadinami, ktoré nikoho nezaujímajú. Keď máš namiesto PR NVIDIe rád PR pre AMD (už sa teším ako napíšeš, že nie si fanda AMD), vieš na aký web môžeš ísť. Tam sa dočítaš presne to čo chceš zrejme počuť.
BTW ja vôbec nemám problém s takýmito článkami. Normálne som napísal čo si myslím bez toho, aby som niekoho napadal. Myslím že otázky a nejasnosti, ktoré som uviedol vyššie sú opodstatnené. Ak nemáš čo povedať k téme, radšej nič nepíš.

No vidíš ty láska (načo vôbec tieto hlúpe poznámky?). Domnievať sa môžeme hocičo. O čo sa podľa teba NVIDIA stará? Veď oni vôbec nemusia písať škodlivý kód. Stačí keď si implementáciu nejakej feature navrhnú tak, aby sedela lepšie ich grafikám. O tomto píšem. To, že tam niekto hľadá niečo iné, je jeho problém.

BTW toto nemá nič spoločné s príkladom nezákonného tendra kedy sa návrh pripraví iba pre jednu stranu. Tu nerobíš návrh zákazky ale riešiš už priamo produkt.

Ako dlho podľa teba trvá implementácia Hairworks v takom rozsahu ako je vo Wictherovi 3? NVIDIA prezentovala Hairworks na zvieratách z Witchera 3 dlhú dobu. To nebol iba koniec vývoja. Všetky assety, ktoré Haorworks využívajú s ním museli byť navrhnuté a otestované.
BTW prínos TressFX je úplne rovnaký ako Hairworks. Má tiež veľký dopad na výkon a "vizuálny pôžitok" je asi taký ako pri Hairworks. Tak o čo ti ide s takýmito komentármi? Prečo napríklad nepoužívaš slovo roubovať aj u SW od AMD? Prečo je to iba u NVIDIe? Je problém sa vyjadrovať normálne?

Heh. TressFX u Lary stál tretinu výkonu. :-) A to bola jedna postava. Pričom TressFX mal minimálne zo začiatku dosť veľke chyby čo sa týkalo napríklad kolízií s postavou či medzi sebou. Hairworks vo Witcherovi 3 používa viac "objektov". Nie je to iba o jednej postave. A ani netrpí chybami, ktorými vtedy trpel TressFX.

NVIDIA sa stará o to, aby ňou vybrané hry išli optimálne na jej GPU. Nekalé by bolo, ak by tam mali kód, ktorý by sa spúšťal pri detekcii konkurenčnéhp HW a umelo by znižoval jeho výkon. Vtip je v tom, že toto ale nikto z nás nemôže dokázať a ani vyvrátiť. A o konšpiračných teóriách sa mi baviť nechce. Okrem toho NVIDIA niečo také vôbec nemusí robiť.

A zasa "debilný" Hairworks. No jo. Nemôžeš si to odpustiť. :-)

No a fandovia červených sa môžu chvíľu tešiť. :-)
Každopádne je divné, že 980 Ti má horší výsledok v DX12 ako v DX11. Už len z efektívnejšieho využitia CPU a vyššieho počtu draw calls (malo by to tak byť), by som očakával aspoň nejaký nárast výkonu. A tiež je divné aj to, že neboli otestované Fury s aj bez X. Oveľa lepšie by sa marketingovo ukázalo, ako AMD drté NV.
Čo sa týka asynchrónných shaderov, rozmýšľam za akých podmienok by bolo treba používať computing v čase, keď prebieha rendering. Keďže computing sa aspoň z mojich malých skúseností využíva vo fáze update-u stavu vykreslovaných objektov a rendering prebieha až po ňom a teda by nemalo dochádzať k častému prepínanou medzi týmito kontextami. Každopádne sa čudujem NVIDIi, že doteraz nemajú podporu pre asynchrónne shadery. To im podľa mňa mohlo pomôcť pri GPU PhysXe.

Ovplyvniť ako ovplyvniť. Vždy ide predsa o obojstrannú dohodu. Nikto do nej vývojárov nenúti. Aj NVIDIA sa musí prispôsobovať. Viď napr MGS V či Project Cars. Obe hry podporované NV, ale nepoužívajú ani GPU PhysX a ani Gameworks. Ale je pravda, že NV investuje do SW oveľa viac ako AMD. Má proste viac prostriedkov, keďže na rozdiel od AMD zarába.

Je to jedno s druhým. Tak isto to môže byť aj v tom, že GW ušetrí časť práce. Nie sú to iba sample na ukážku ako sa má čo robiť, ale hotové riešenia, ktoré stačí zintegrovať do engine-u danej hry.

Stránky

Reklama