Recenze Radeon RX480

29.červen 2016 - iNFINITE.cz

Novou kartou AMD cílí k prolomení cenové bariéry VR a slibuje prémiové VR zážitky s kartou kolem 6000Kč.

Grafické karty na novém výrobním procesu (14 resp 16nm) slibovaly násobný nárůst výkonu, jelikož 20nm generace byla přeskočena a 28nm s námi byla delší dobu než se plánovalo. Zatímco Nvidia vstoupila do tohoto segmentu high-endem v podobě GTX1080 a GTX1070, AMD zvolila opačný přístup a jako první uvedla mainstreamové karty. Již při uvedení GTX1080 jsme zmínili, že hlavním přínosem nové generace pro virtuální realitu není brutální výkon high-endových karet, který ve VR ve většině případů zůstane nevyužit, ale právě nižší modely mohou snížit cenovou bariéru pro VR, tím že poskytnou dostatečný výkon pro VR za nižší cenu. Proto VR svět nechala GTX1080 / 1070 docela chladným, ale oznámení RX480 vyvolalo vlnu ohlasu. Pojďme se tedy podívat, jestli dokáže ospravedlnit ten hype.

Testované karty

Před tím, než se podíváme do testů je potřeba se podívat přímo na karty, které jsou testované. Jedná se tedy Radeon RX480 s 8GB paměti a kompletně referenční kartou. Proti tomu stála GTX970 DirectCU Mini, která má Boost clock 1228 MHz, oproti referenčnímu 1178, tedy nárůst asi o 5%. GTX980 je v provedení MSI Gaming s 1317Mhz boostem, tj výhoda asi o 8%. Obě kartou jsou tak díky továrnímu přetaktování ve výhodě. Jak budou vypadat nerefenční RX480 a o kolik se je výrobcům povede přetaktovat je otázka.

2D Výkon

Jako první se podíváme na výkon v syntetickém benchmarku FireStrike a Unigine Heaven. V obou případech se jedná o benchmarky na DirectX 11.

Jak je vidět, čistě grafický výkon karty se pohybuje lehce nad GTX970 a pod GTX980. To je pro virtuální realitu dobrá zpráva, jelikož GTX970 je braná jako minimální konfigurace, na kterou jsou stavěné VR hry. Jak dopadne RX480 v testu reálných 2D her?

V reálných hrách se karta opět umístila kolem GTX970. Ten rozdíl v každé hře je daný podle toho, na který hardware je hra více optimalizovaná. Tedy zatímco Doom, Metro:LL nebo Witcher mají na sobě logo Nvidie a jsou optimalizované spíše pro její karty, Ashes of the Singularity používá ve velkém asynchronní shadery, které lépe fungují na AMD kartách.

VR Výkon

Zatím jediný VR benchmark, který existuje je SteamVR Performance Test. Ten pustí scénu z Aperture Robot Repair Dema (součástí kompilace The Lab) a dynamicky upravuje kvalitu scény, aby bylo dosaženo 90fps. Pokud 90fps nelze dosáhnout je sestava označena jako nevhodná pro VR. Pokud se, například snížením kvality podaří udržet 90fps je sestava označena jako schopná VR a průměrná kvalita následně jako výsledek.

Zde vidíme číslo 6.6, které značí VR ready sestavu. Benchmark využívá enginu Source 2, který Valve používá zároveň pro svůj interní výzkum virtuální reality. Benchmark v sobě tedy kombinuje různé technologie obou výrobců hardware, které pracují s VR. Například pokud máte dvě karty v Crossfire, tento benchmark je schopný pro VR render využít obě dvě, avšak samotné hry toto většinou nepodporují.

Ovšem čísla ve VR nic moc neznamenají, VR hry málo kdy mají možnost nastavit kvalitu. Otázka tedy je, jestli grafická karta udrží renderování na 90fps, nebo s malým množstvím nestihnutých snímků, které tolik nevadí. Ve všech testovaných VR hrách toto RX480 zvládla. A jaké hry jsme tedy testovali?

U her na Oculu občas docházelo k vynechaným snímkům, které však bez problémů vyřešil asynchronní timewarp. Ve stejných situacích docházelo k propadům výkonu i na GTX970, které byly často horší. Například u ADR1FT v jeden moment spadlo FPS na RX480 na 75fps a GTX970 ve stejný moment až na 60fps. Na Vive padalo fps pouze v theBlu, kde jsou propady velmi podobné jako na GTX980.

Jedním z našich VR benchmarků je hraní EVE: Valkyrie na Ultra, jelikož je to nejnáročnější VR hra současnosti. Výsledná hodnota je průměr z 5 minut hraní.

Občasné chybějící snímky zde jsou, nejmenší naměřená hodnota byla 62fps na RX480 a 53fps na GTX970. Pokud by to někomu vadilo, je možné snížit detaily z Ultra na High - naměřená hodnota na RX480 byla 89.95fps.

Druhý náš interní benchmark je zvednout rozlišení u filmečku Henry na čtyřnásobek a následně změřit FPS. Tím se dostaneme do situace, kdy žádné kartě nestačí výkon na 90fps a můžeme vidět výkonový rozdíl mezi kartami.

Zajímavá situace však nastala u GTX970 a GTX980, kde došlo nejenom k poklesu fps aplikace, ale dokonce i FPS kompozitoru. Tehdy přestává fungovat asynchronní timewarp a trhání obrazu je viditelné. RX480 tedy poskytla výrazně lepší zážitek než GTX980.

Zatímco tedy VR hry zvládá RX480 na výbornou, určitým problémem mohou být hry s dodělanou podporou VR. Zatímco doposud byly porty velmi okrajovou záležitostí a věci simulátorů jako je Assetto Corsa, Live For Speed, Project CARS nebo Elite:Dangerous. Již na E3 byl oznámen Serious Sam VR nebo Fallout VR. Zatímco Assetto Corsa zvládla konverzi na výbornou a jede 90fps stabilně i na RX480, u Project CARS se to říct nedá. FPS na maximální detaily vypadají následovně:

Ačkoliv RX480 spadla níže než GTX970, nedošlo k zahlcení kompozitoru. Vzhledem k povaze hry však hratelná nebyla.

Asynchronní Timewarp

Několikrát jsem v článku zmínil fungování asynchronního timewarpu a fps kompozitoru. Jedná se o technologii, která v případě, že aplikace nestihne dodat snímek včas udělá reprojekci posledního snímku a pošle jej headsetu. Tím je zaručena plynulost obrazu a snížený efekt nevolnosti z VR. Nedopočítaný snímek se sice projeví na plynulosti animací, avšak ne trhnutím obrazu v důsledku pohybů hlavy. Subjektivní vnímaní takových výkyvů je individuální a záleží na situaci - pokud stojíte na místě je trhnutí neznatelné, pokud se rychle pohybujete třeba v závodním simulátoru je viditelné na pohybu okolního prostředí.

Proč jej zmiňuji právě s souvislosti s RX480 je to, že ATW používá technologii asynchronních shaderů, kde má AMD náskok. Ovšem samotné asynchronní shadery na to nestačí, při timewarpu je nutné doslova zastavit kartu od aktuální operace a provést reprojekci obrazu. Tomu pomáhá technologie Quick Response Queue, která přidá další úlohu na grafickou a vyhradí jí určitou část. Nedojde tak k přerušení aktuální operace, ale nová úloha se začne zpracovávat okamžitě, což je pro timewarp důležité. Výsledek? Timewarp na RX480 funguje s téměř 100% spolehlivostí. Ačkoliv v project CARS padalo fps až kolem 20, tedy do situace kdy každý snímek je potřeba znovu použít až 4x, všechny 4 snímky se stihli spočítat včas. To je velký rozdíl oproti GTX970 a GTX980, kde ATW nestihl každý snímek 1-2 reprojekce.

Technologie ATW je zatím dostupná jenom na Oculus Riftu a Windows 10. Na její integraci musel pracovat Oculus ve spolupráci s AMD, NVIDIÍ i samotným Microsoftem. Bylo totiž potřeba dělat změny přímo do architektury ovladačů grafické karty (WDDM). Oculus tedy má náskok, avšak jsem si jistý, že i ve Valve na podobně technologii pracují a pro Vive bude, dříve nebo později, dostupná.

Asynchronní shadery

Asynchronní shadery jsou nová vlastnost moderních grafických rozhraní. Dříve grafické rozhraní fungovalo tak, že jedno vlákno generovalo příkazy pro grafickou kartu (Command List), které následně posílalo do fronty na zpracování na grafické. Tato fronta se zpracovávala postupně. Tento přístup má několik problémů - jednak umožňuje používat pouze jedno jádro procesoru pro grafickou práci a jednak je karta v určitých momentech nevyužita, protože daná úloha využije pouze část karty. Například výpočet stínů je velmi náročný na paměťové operace, takže často paměť limituje využití všech výpočetních jednotek karty. Proto DirectX12 má jako základní stavební kámen technologii MultiEngine, která umožňuje generovat command listy na různých vláknech nezávisle na sobě a následně je posílat do různých front na grafické kartě. K výpočtu stínů je tak možné párovat další výpočet, jako je například výpočet dopadu přímých světel, který je pro změnu náročný na výpočetní výkon. Využití této technologie ale neznamená jenom výhru, velmi jednoduše lze spárovat špatné úlohy - například k výpočtu stínů dát další paměťově náročnou úlohu - a z nárůstu výkonu je rázem pokles.

Kolem asynchronních shaderů je na internetu řada zavádějících informací přesně podle pravidla, že čím složitější subjekt, tím jednodušší je zblbnout lidi zavádějící informací. A popsat jak přesně to funguje by vydalo na jeden velmi dlouhý článek. MultiEngine je základní vlastnost DirectX12 a nelze jí nepodporovat. Její podporu tedy najdeme již například v GeForce 480, ovšem v čem se oba výrobci liší je jak je funkce řešená hardwarově.

Nvidia má jednu plánovací jednotku, která sice zvládne úkolovat část karty z jedné fronty a část z druhé, ovšem přepínaní front je pomalé. Navíc je potřeba čekat na dokončení obou úloh než se grafická karta dokáže vrhnout na další. AMD zde má daleko komplexnější architekturu, na obrázku vidíme Graphics Command Processor, který se stará o grafickou frontu (rasterizace geometrie), dále 4 jednotky ACE (Asynchronous Compute Engine) a dvě jednotky HWS (Hardware Scheduler). HWS jsou dvě jednotky ACE s další, dosud neznámou, funkcí. Celkem tedy lze poslat na RX480 9 úloh najednou a tyto jednotky se postarají o jejich provedení tak, aby byla využita plně grafická karta.

Asynchronní shadery jsou velmi náročná věc na programování, jelikož je potřeba správně párovat úlohy a starat se o synchronizaci a včasně dokončení manuálně a jejich využití neznamená vždy výhru. Zatímco AMD nevadí mnoho malých úkolů, jelikož má 9 jednotek které je zpracují, na NVidia kartách je je potřeba optimalizovat počet Command Listu (15-30 na snímek) a jejich délku (0.2 milisekundy minimum). Ve hrách využívajících Asynchronní shadery je tak vidět nárůst výkonu AMD hardware oproti Nvidia hardware. Rozdíl není nijak fixní - záleží jak moc bylo věnováno optimalizaci pro Nvidia hardware (který AMD implementace nijak nepenalizuje).

spotřeba

RX480 má udávanou spotřebu 150W, podle aplikace. To je podobná spotřeba GTX970 na starém výrobním procesu (145W), zatímco GTX1080 nabízí dvojnásobek výkonu za 180W. Ovšem je potřeba zde zmínit důležitou věc - spotřeba souvisí se složitostí karty. Jak bylo popsáno výše, plánovací logika u AMD je výrazně složitější než u konkurenční Nvidie a to se projevuje i na spotřebě. Z trochou nadsázky by se dalo říct, že volba mezi červeným a zeleným týmem je v tom, jestli preferujete asynchronní shadery nebo spotřebu.

Co se chlazení a jeho efektivity týče, je potřeba říct, že referenční karta má chlazení velmi jednoduše a levně udělané. AMD nechává všechny práci na partnerech. Karta velmi rychle dosáhne teploty 81-82C, kde se drží stabilně při otáčkách větráku kolem 2200rpm. Větrák také nepatří mezi tiché, ačkoliv hlučnost jsme neměřili. Referenční karta je tak vhodná pouze pro lidi, kterým hlasitější sestava nevadí a mají v case k dispozici dost prostoru na proudění vzduchu a chtějí co nejlevnější kartu. Pro ostatní bych doporučil počkat si na nereferenční karty, které již budou mít efektivnější a tišší chlazení, za vyšší cenu.

Závěř

AMD s RX480 slíbilo VR ready grafickou kartu, která bude cenově dostupná a tím snížit cenovou bariéru pro vstup do VR. Pro současnou generaci VR headsetů je brán jako vstupní karta GTX970 a tak to bude pro všechny hry první generace. Druhá generace se čeká v letech 2018 uvedení a 2019 rozšíření. Slib je dodržen a RX480 poskytuje dostatečný výkon pro virtuální realitu - ve všech testovaných VR hrách byl výkon lepší než GTX970. Pokud tedy kartu přímo srovnáme s GTX970, jsou všechny výhody na straně RX480 - karta je ve VR výkonnější, díky lepší podpoře asynchronních shaderů funguje timewarp výrazně lépe, což se projeví zejména v budoucnu, až budou VR hry hardwarově náročnější. Jako další výhodu je možné zmínit 8GB paměti a samozřejmě a nižší cena, která je stanovena na 6095 Kč za 4GB model a 7085 Kč za 8GB. Zmínit je potřeba i fakt, že RX480 je referenční, proti nereferenčním GTX970 a 980. Uvidíme kam se s taktováním pohnou nereferenční modely, na které bych při koupi určitě počkal. Otázkou také zní, jaká bude odpověď Nvidia v podobě GTX1060.

Za zapůjčení karty děkujeme českému zastoupení společnosti AMD.