Recenzia performance kariet: Radeon HD 5850 a GeForce GTX 470

Pohľad na Direct3D 11



Obe dnes testované grafické karty sú založené na GPUs, ktoré majú ako prvé od svojich výrobcov podporu Direct3D 11. Preto sa na toto posledné grafické rozhranie od Microsoftu teraz pozriem bližšie. Direct3D 11 predstavuje nadstavbu Direct3D 10.1 a momentálne poslednú verziu Direct3D API. Využíva sa teda pre Vistu vyvinutý driver model, čo znamená, že verzia pre Windows XP nebude. Podporované sú preto všetky operačné systémy od Windows Vista (vrátane) vyššie. V dnešnej dobe to znamená – Windows Vista a 7 z desktopových OS. Direct3D 11 funguje z tohto dôvodu so všetkými grafickými kartami, podporujúcimi aspoň Direct3D 10. Microsoft ide dokonca ďalej a ponúka aj mód pre určité Direct3D 9 karty. Jedná sa o tie isté, ktoré sú podporované Aerom.
 


Ako v prípade Direct3D 10 nie je povolené výrobcom GPUs si vybrať podporu len určitých Direct3D 11 features. Aby mohli byť GPUs označené ako kompatibilné s Techlevelom 11, musia byť podporované všetky nové features Direct3D 11. Hlavné novinky a vylepšenia Direct3D 11 sú nasledovné:

  • Multithreading
  • DirectCompute
  • Shader Model 5
  • Dynamic Shader Linkage
  • Hardware Tessellation
  • BC6H/BC7 Texture Formats

 

Multithreading podporuje Direct3D už od verzie 9. Nebol však zavedený pre vyšší výkon, ale aby zabránil nestabilite, ktorá by mohla vzniknúť, ak by sa pristúpilo zároveň na dve vlákna. Trend v oblasti CPUs je už dlhšie zameraný na viaceré jadrá, a preto sa rozhodol Microsoft premyslieť celý koncept Multithreadingu. V Direct3D 11 je už zameraný na dosiahnutie vyššieho výkonu. Textúry a geometria sa preto dajú spracovávať naraz pomocou viacerých vlákien. To zjednodušuje streaming, teda efektívne načítavanie údajov a textúr v pozadí. Pre stále väčšie svety v hrách to aj je potrebné. Okrem toho je teraz možné spracovať príkazy pre grafickú kartu pomocou viacerých vlákien, zapísať ich do príslušných bufferov a následne v správnom poradí poslať GPU. Čím viac jadier je k dispozícii, tým je logicky možné viacej rozdeliť jednotlivé príkazy na CPUs.
 


DirectCompute je rozhranie pre celú GPGPU funkcionalitu v Direct3D 11. Využívajú sa tzv. Compute Shadery. Napriek tomu, že nie sú súčasťou pipeline, môžu pristupovať na rovnaké údaje. Vďaka tomu sa výrazne zjednoduší výmena uskutočnených výpočtov. Preto sa môžu použiť aj pre výpočet fyziky v hre a post-processing efektov. Podľa Microsoftu je možné dosiahnuť až 200% navýšenie výkonu. Ušetrený výkon sa môže použiť na niečo iné. Možné je to vďaka tomu, že všetky vlákna compute shaderov môžu pristupovať na spoločnú, 32 KB veľkú pamäť v GPU.
 


Shader Model 5.0 je High Level Shader Language (HLSL) nového Direct3D 11.

Výkon GPUs postupne narastal a s ním aj množstvo obmien toho istého shaderu v hrách, ktoré sa musia spravovať. Aby sa počet týchto shaderov znížil, vznikla myšlienka übershaderu. Ten zjednocuje všetky varianty jedného shaderu a pomocou parametra sa počas behu vyberie konkrétny. Jeho problém je ale horší výkon, a preto siahala väčšina vývojárov znovu k veľkému počtu obmien shadera. Tento problém chce Direct3D 11 riešiť pomocou Dynamic Shader Linkage. Shadery ktoré vznikli pomocou DSL obsahujú všetky varianty v optimalizovanej a komprimovanej podobe. Počas behu sa pomocou parametra vyberie ten správny. Pre vývojárov sa táto verzia podobá übershaderu, po stránke výkonu sa však má rovnať verzii s množstvom obmien toho istého shaderu.
 

 

Hardvérová teselácia, ktorá mala byť pôvodne zavedená už s Direct3D 10, sa teda konečne dostala do Direct3D. Predchádzajúce pokusy implementovať teseláciu do Direct3D sa nepodarili kvôli slabej podpore zo strany výrobcov GPUs. nVidia sa o to pokúšala už pomocou RT-patches na GeForce 3 a ATi s N-patches (True-Form) na Radeon 8500, ale neúspešne, a preto odpadla v ďalšej generácii táto hardvérová podpora. V Direct3D 11 ide Microsoft zatiaľ najviac flexibilnou cestou a je možné použiť rôzne algoritmy pre teseláciu - subdivisions, PN triangles, bezier patch with displacement atď. Teselátor je v Direct3D 11 podporovaný dvoma novými shader úrovňami. Hull shader vypočíta úroveň teselácie. Využíva na to vertex shaderom vypočítané kontrolné body. Domain shader vytvorí z výsledku teselácie znovu vrcholy. Tie sú zvyškom render-pipeline spracovávané ďalej.
 


BC6H a BC7 predstavujú nové formáty kompresie pre (HDR) textúry. Po zavedení DXT kompresie pre textúry sa javilo, že táto téma je pre Microsoft uzatvorená. V Direct3D 10 sa len premenovali na BC (Block Compression) a rozšírili o dve varianty rovnakej technológie. BC6H a BC7 v Direct3D 11 sú ale po technickej stránke ozajstné novinky. BC6H slúži na kompresiu formátov so 16 Bitmi na farbu a dosahuje kompresiu až na 1/6 pôvodnej veľkosti. BC7 sa zameriava na formáty textúr ako doteraz, poskytuje ale výrazne lepšiu kvalitu. Dosahuje kompresiu 3:1 pri textúrach bez alpha a 4:1 s alpha kanálom. Oba nové formáty využívajú adaptívny algoritmus, ktorý vie podľa farebných rozdielov použiť pre každý blok 16 pixelov rozličnú kompresiu. Aby sa zabránilo odchýlkam vo výsledku, definuje Direct3D 11 tiež, ako má každý bit po dekompresii vyzerať.
 


Nové formáty kompresie pre textúry ako aj  teselátor sú čisto Direct3D 11 features a budú ich preto môcť využívať jedine Direct3D 11 GPUs. Multithreading bude fungovať s príslušným ovládačom aj na grafických kartách s podporou staršieho Direct3D spolu s osekanou verziou Dynamic Shader Linkage, DirectCompute (4.x) a adaptívnou teseláciou. Určité konštrukcie zo Shader Modelu 5.0 je možné emulovať aj na starších GPUs, využitia v praxi sa ale asi nedočkáme. Ďalšie informácie ako aj všetky prezentácie a zvukové záznamy nájdete na stránkach Microsoft Gamefest 2008 a 2010.


 


Komentáre (21)
AmOK
Vynikajuca praca! ;)
1adad1
klobuk dole
numlockn
pekne, diky. (na poslednej stranke su texty cierne a aj pozadia cierne (plusy/minusy) - teda nevidno text)
crux2005
To je žiaľ chyba systému - nie je možné použiť farebný text. Musím to zmeniť.
yesper
"V 2D sú tieto dve Direct3D 11 karty na jednej úrovni, pričom GTX 470 má mierne nižšiu spotrebu." Nema tam byt HD 5850 alebo vyssiu?
yesper
prebehol som to fest rychlo, nie je cas, ale super praca...
tutukan1
Ale toto ma rozosmialo :D : Po stránke spotreby je na tom celkovo lepšie Radeon HD 5850 karta, lebo spotrebuje vo všetkých meraniach minimálne AŽ O DOSŤ MENEJ WATOV ako GeForce GTX 470.
16cmfan
Krásna recenzia, jedným dychom som ju prečítal :)
exot87
konecne sa potvrdilo ze ati vobec nie je az tak vyhodna ako niektory stale tvrdia a pomer cena vykon je velmi vyrovnany... jedina nevyhoda nvidie uz je v spotrebe a eyfinity ktore pouzije jeden zo 100 ludi v lepsom pripade... a ak niekto chce argumentovat ze nvidia ma ovela vacsie a drahsie jadro? ja odpoviem ze to je problem nvidie a ak mi da tu kartu za cenu ako konkurencia nemam dovod nebrat... a spotreba v plnej zatazi nie je taka strasne ked si clovek uvedomi kolko casu sa hra a kolko sa PC iba flaka....
icefire
Taketo recenzie by si mali platky ako pctuning.cz a podobne vziat k srdcu, tu to aspon bolo objektivne a k veci. Len tak dalej, zaujimave citanie.
like
ano konecne si vravim aj ja, ale na ako dlho? fermi seria je tu o niekolko mesiacov neskor ako tie atiny, ati teraz planuje vydat do obehu dalsiu seriu grafickych kariet a potom t bude zas len nvidia dobiehat ale drzim jej palce, nech to nieje znova dlho :D ved uvidime ako to bude, kazdopadne zdrazvanie ati kariet neoceni nikdo ale to bude neodvratitelne ak nvidia bude zastavat
exot87
ano mas pravdu ati chysta novy medzistupen... ale nemal by to byt ziadny zazrak oproti tomu co je teraz pokial priliz nezvacsia jadro.... skok bude u oboch vyrobcov az s prechodom na 28nm vyrobu a tu sa ukaze... nvidia uz ma uplne novu generaciu kariet teraz a ati ju pouzije prvykrat az pri prechode na novy proces... je dost mozne ze sa karty vymenia a nvidia bude zas navrchu... ale to su ciste spekulacie... ale vzdy pri prechode na novu architekturu su velke problemy... vid teraz fermi a v minulosti napr ati hd2900 a este pred tym napr ge force 5800 a takto sa da pokracovat...
like
je to mozne, pretoze nvidia svoju novu technologiu casom dotiahne do konca, odstrani chyby a bude zas na vyslni ako minule, moze sa to tak stat aj nemusi,,.. ale to este nevie nikdo
technar
mi v teste chyba aj test s PhysX ON..to vyzera ako znevyhodnovanie zelenych..alebo sa mylim?! nVidia go
Frosty
exot87: mas sice pravdu ale nezabudaj na to ze ATI prisla o pol roka skor s tou kartou. Keby to bolo naopak zeby Nvidia mala prvu 470 a ATI by prisla po pol roku s 5850 tak ATI by mala tu 5850 vykonnejsu ako GTX 480
marcell
Recenzia vyborna,ale preco je 5850 testovana s vypnutym Catalyst A.I ? Ved vtedy dochadza k az cca 20-30% znizeniu vykonu. Zalezi od hry.Niekde je to viac a niekde menej.Najprv som pozrel vysledky testov a hned mi boli tie FPS divne. Ved v Dirt 2 s rovnakym nastavenim mam o cca 20FPS naviac a v JC2 asi o 15. V takom RE5 mito robi az 30-35 FPS rozdiel.
crux2005
@marcell: Testy výkonu Radeon HD 5850 prebehli s nastavením A.I. Standard. Ostatné nastavenia: http://www.pc.sk/modules.php?name=article&what=read&v=1281726767&p=7. A.I.Off bolo použité jedine pri testoch kvality obrazu. Čo sa týka výsledkov. 1.) vyberal som náročné scény 2.) netestoval si v mojich "scénach". Nejaké meranie počas hrania sa nedá porovnávať s mojimi výsledkami.
exot87
ano je pravda ze prisla NV az pol roka po ati... ale ATI uz iba vylepsovala staru generaciu zatial co NV uz ma uplne novu architekturu... a treba to brat aj tak ze NV za problemy s vyrobou viacmenej nemoze... samozrejme ATI je dnes lepsia ale iba v spotrebe a eyfinity (co su vyhody pre malokoho ked si uvedomis ze 2 a viac monitory pouziva mizive % ludi a spotreba bez zataze je velmi vyrovnana... a denne malokto hra 3 a viac hodin aby sa to nejak prejavilo na uctoch za elektriku...) ale podla mna na NV isla zo vsetkych stran az privelka kritika... v tejto recenzii je dokaz toho ze NV vobec nie je taka nevyhodna ako niektory stale tvrdia...
Frosty
napriklad ja ked nemam co robit hrajem od rana do vecera vkuse..s prestavkami samozrejme ael hru mam furt zapnutu nejaku
exot87
ale to si ty ako jednotlivec... ja som pisal vseobecne.... ak by si zobral 1000 ludi kolky z nich si myslis by hrali denne viac ako 2 hodiny? pre vacsinu ludi su uplne vyhovujuce obe riesenia... a aj ty sice hras obcas cely den... ale ak si to spriemerujes za tyzden kolko hodin odohras? urcite nemas kazdy den cas a nudis sa... samozrejme nestojim na strane NV a ani ATI... len tvrdim ze sily su velmi vyrovnane a jediny minus NV je ta spotreba (a eyfinity ale to je podla mna diskutabilna vyhoda podobne ako physx) a aj to sa len tazko v realnom zivote prejavi na penazenke...
Frosty
ved ja stebou suhlasim ja len som uviedol priklad ze ludia ako ja potrebuju mensiu spotrebu a preto napriklad som si kupil aj ATI miesto Nvidie. Co sa tyka tych hodin tak neviem ale ver tomu ze vela
Pridať nový komentár
TOPlist