Diit.cz - Novinky a informace o hardware, software a internetu

DirectX 12 zvyšují Radeonům výkon, starším čipům ale i spotřebu

Pokud vás nezajímají pouze výkonnostní výsledky Ashes of the Singularity v DirectX 12, ale také to, co za nimi stojí, mohl by vás zajímat detailnější rozbor chování různých grafických karet…

Právě na hledání možných důvodů toho, proč jsou výsledky v Ashes of the Singularity pod DirectX 12 právě takové, jaké jsou, se zaměřila redakce webu TomsHardware ve své pětistránkové analýze. V několika případech narazila na ne úplně očekávatelné chování různého hardwaru, a tak se na tyto vybrané případy podíváme. Začněme u toho, co avizuje nadpis, tedy u spotřeby. Došlo na tři základní měření - spotřebu GPU (která dopadla dle očekávání), spotřebu CPU  a poměr výkon / spotřeba podle API a nastavení. Právě druhé a třetí měření dopadlo zajímavě.

Ashes Of The Singularity Thg 01

Graf výše znázorňuje poměr spotřeba na FPS (takže menší [spotřeba] je lepší). Redakce správně vychází ze spotřeby CPU+GPU dohromady, nikoli jen ze spotřeby grafické karty. Výsledky jsou každopádně překvapením a to snad po všech stránkách, ve kterých mohou překvapit. Každá karta se chová zcela unikátně. Radeon R9 390X na tom v poměru spotřeba/výkon není tak dobře, jako ostatní, což je asi to jediné, co lze předpokládat. Jeho výborný výkon v DirectX 12 je ovšem částečně vykoupen zhoršením energetické efektivity, zvlášť při vypnutí asynchronních shaderů. Chování karty ovšem může být ovlivněno faktem, že jde o nereferenční kartu, která nemá nastavený standardní limit spotřeby. Přesto se její chování ani neblíží žádné z ostatních high-endových karet.

Neméně zvláštní je chování architektury Maxwell - v podání GeForce GTX 980 totiž po přechodu z DirectX 11 do DirectX 12 energetická efektivita stoupá, zatímco u GeForce GTX 980 Ti klesá. Za pozornost stojí i to, že v této hře se Maxwell v poměru výkon na watt neliší od Radeonu Fury X.

Ashes Of The Singularity Thg 02

Výše jsem zmiňoval, že je při měření spotřeby a energetické efektivity správné pracovat se spotřebou procesoru a grafické karty dohromady, nikoli jen se spotřebou grafické karty. Tento graf názorně ukazuje, proč. Jednotlivá APU, ale i jednotlivé grafické karty (či jejich ovladače) mohou mít velmi odlišné nároky na procesor. V obecné rovině se uvádí obvykle dvě závislosti: jednak závislost na výkonu grafické karty (čím více FPS karta zvládá, tím více dat musí procesor dodávat). Druhá závislost se týká architektury - pokud jeden čip používá hardwarový scheduling a druhý softwarový, pak v jednom případě běží řídící výpočty na GPU (a spotřeba pro tyto výpočty jde na vrub GPU), zatímco v druhém se odehrává na úrovni CPU (spotřeba GPU je sice nižší, ale spotřeba procesoru naopak vyšší). Hardwarový scheduling využívá architektura AMD GCN (všechny verze), softwarový Nvidia Kepler a Maxwell. Toto se zde odráží hlavně v případě DirectX 11, kdy se u podobně výkonných karet liší spotřeba procesoru o 4-5 wattů. Reálně bude rozdíl větší, zde nejsou zachyceny ztráty na napájecích obvodech (a na zdroji).

V DirectX 12, zvlášť po zapnutí asynchronních shaderů, se situace mění a rozdíl se stírá. U Radeonů totiž asynchronní shadery fungují korektně a jejich použití klade mírně vyšší nároky na procesor, respektive dochází k mírně vyššímu paralelnímu zatížení procesorových jader (API, ovladače).

Ashes Of The Singularity Thg 03Ashes Of The Singularity Thg 04

Další grafy zachycují stabilitu snímkové frekvence - čím nižší hodnoty a nižší výkyvy, tím lépe. Šedě jsou vykresleny výsledky GeForce GTX 980 Ti, černě Radeonu Fury X.

Ashes Of The Singularity Thg 05

Když TomsHardware analyzoval jednotlivé časy (na úrovni ovladače, API, procesoru…), narazil v jednom případě na výsledky, které korespondují s výkonem a (ne)stabilitou snímkové frekvence. Jde o čekání grafického jádra na procesor. Nejlépe si vedou čipy s architekturou GCN 3. generace (Tonga/Antigua alias R9 380X a Fiji alias Fury X). Dále je GCN 2. generace (Hawaii/Grenada alias R9 390/390X) a dále pak Maxwelly. To může částečně vysvětlovat rozdíl v chování současných Radeonů a GeForce, nicméně není úplně jasné, odkud se o tolik delší čekání na procesor - tedy limitace výkonu ze strany procesoru - bere. Může jít o slabinu grafického ovladače pro DirectX 12, může jít i o důsledek softwarového schedulingu (i když tak výrazný dopad bych nečekal), může jít o aspekt grafické architektury, jemuž musí být uzpůsobený ovladač. Zatímco architektura GCN umožňuje, aby procesy běžící na jednotlivých procesorových jádrech „mluvily“ paralelně k jednotlivým blokům 3D jádra (multi-engine concurency, compute-shader concurency), architektury Kepler a Maxwell tuto možnost nemají a komunikace zřejmě probíhá postupně, což trvá déle. Otázkou je, do jaké míry lze toto obejít specifickými optimalizacemi ovladačů.

Zdroje: 

Diskuse ke článku DirectX 12 zvyšují Radeonům výkon, starším čipům ale i spotřebu

Čtvrtek, 3 Březen 2016 - 15:31 | Jaroslav Crha | už to chápu, díky
Čtvrtek, 3 Březen 2016 - 15:04 | Dan8 | Vždyť jsou tam popisky První: Graf výše...
Čtvrtek, 3 Březen 2016 - 15:04 | no-X | První graf je energetická efektivita - tedy...
Čtvrtek, 3 Březen 2016 - 14:44 | Jaroslav Crha | Dobrý den, můžete mi prosím vysvětlit ty první...

Zobrazit diskusi