Recenze Grafiky a hry

DirectX 12 Multi-engine: asynchronní shadery v praxi | Kapitola 10

Pavel Šantrůček

Pavel Šantrůček

17

Seznam kapitol

1. DirectX 12 Multi-engine: asynchronní shadery v praxi 2. Co jsou to Compute shadery 3. DirectX 11 4. DirectX 12: Multi-engine 5. Simultánní Multi-threading 6. Multi-engine - implementace AMD a Nvidia
7. MDolenc test: AMD 8. MDolenc test: Nvidia 9. MDolenc test: Nvidia (CUDA) 10. Ashes of the Singularity (v 0.49) 11. Ashes of the Singularity (v 0.60) 12. Závěr

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.

Reklama

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

DirectX 12 Multi-engine: asynchronní shadery v praxi

- pro zvětšení klikněte na obrázek -


GPUView Nvidia

DirectX 12 Multi-engine: asynchronní shadery v praxi

- 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

.

DirectX 12 Multi-engine: asynchronní shadery v praxi
DirectX 12 Multi-engine: asynchronní shadery v praxi
DirectX 12 Multi-engine: asynchronní shadery v praxi
DirectX 12 Multi-engine: asynchronní shadery v praxi
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.

DirectX 12 Multi-engine: asynchronní shadery v praxi

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.


Předchozí
Další
Reklama
Reklama

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama