Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

DirectX 12 Multi-engine: asynchronní shadery v praxi

20.11.2015, Pavel Šantrůček, recenze
DirectX 12 Multi-engine: asynchronní shadery v praxi
Co jsou to asynchronní shadery a k čemu vlastně slouží? Jak zapadají do kontextu DirectX 12? Které grafické karty je podporují, které zase ne a proč? V dnešním článku odpovíme právě na takovéto otázky.

Ashes of the Singularity (v 0.49)


Počítačová hra, respektive její pre-beta verze, je vyvíjena přímo pro DirectX 12 a snaha jejich autorů je, co nejvíce vytěžit z možností tohoto nového 3D API. Asynchronní shadery jsou zde využívány opravdu hojně, kde podle slov vývojářů až 20 % všech volání spadá právě na shadery výpočetní (ve finální verzi to má ale být až 50 %).

Pro naše testy máme k dispozici jednak původní verzi této hry (v 0.49), která spadá právě do období, ve kterém se záležitosti kolem asynchronních shaderů dostaly na veřejnost, ale také máme k dispozici jednu z posledních verzí (v 0.60), ve které vývojáři Oxide reagovali na požadavky společnosti Nvidia a engine této hry upravili.

Začali jsme tedy popořadě a otestovali nejdříve verzi původní (problémovou). Jediný rozdíl mezi dobovým měřením a tím naším je v tom, že my jsme k těmto testům využili poslední verze ovladačů grafických karet. A jak naše testy dopadly?


GPUView AMD

Ashes of the Singularity GPUView R9 290X
- pro zvětšení klikněte na obrázek -

GPUView Nvidia

Ashes of the Singularity GPUView GTX 980
- pro zvětšení klikněte na obrázek -

Nástroj GPUView ukazuje přesně to, co jsme viděli také u MDolenc testu. Zatímco u Radeonu R9 290X jsou využity obě hardwareové fronty (3D i COMPUTE_0), u GTX 980 i přes využití dvou rozdílných kontextů (3D a Compute), všechny příkazy nakonec končí v jediné hardwareové frontě 3D.


Ashes of the Singularity graf


Ashes of the Singularity graf


Ashes of the Singularity graf


Ashes of the Singularity graf


Ashes of the Singularity
1920x1080 | MSAAx4 | HIGH
GPU
GPU clock
VRAM clock
Driver
FPS
%
Gigabyte GTX 980 4GD
1227 MHz
7012 MHz
358.91
39,4
100 %
Sapphire R9 290X TRI-X 4GB
1040 MHz
5200 MHz
15.11.1
39,0
99 %


Z výsledků vyplývá, že i přes poměrně hojné využití asynchronních shaderů ve hře se žádná tragédie na grafických kartách rodiny Maxwell nekoná! Jistě, rozdíl GTX 980 vůči postaršímu Radeonu R9 290X by měl být za normálních okolností asi vyšší, ale vzhledem ke stavu věcí je výsledek GTX 980 celkem solidní.

Příčinou je hra samotná. Na jednu stranu sice využívá asynchronní shadery, které by měly jasně favorizovat grafické karty AMD, na druhou stranu je však v této hře také opravdu masivní počet objektů ve scéně. A jak víme, příliš mnoho a malých trianglů ve scéně není to, co by grafické karty GCN zrovna milovaly.


Latence


Dalo by se tedy říci, že s největší pravděpodobností to, co grafická karta Radeon R9 290X získala na souběžném zpracování grafických a výpočetních úloh, ztratila na samotné grafické úloze.
Doporučujeme náš velký přehled desktopových grafických čipů.