Radeony R9/R7 200: novinky od AMD?
24.10.2013, Petr Štefek, technologie
AMD uvedlo některé nové modely Radeonů R7 a R9 série 200, takže je čas podívat se na to, co je vlastně u tohoto hardware nového. Máme zde několik novinek, kde asi nezajímavější je nové rozhraní Mantle pro propojení světa konzolí a PC.
Kapitoly článku:
- Starý hardware ale mnoho nového
- AMD Mantle - API jako můstek mezi světy
- AMD přináší 4K na více obrazovkách
- TrueAudio - první integrované DSP v GPU
- Závěr - AMD nabralo druhý dech
AMD se snaží s novými Radeony uvést i své rozhraní Mantle, které představuje low-level grafické rozhraní pro architekturu Graphics Core Next. Mantle bylo představeno na AMD GPU 2014, kde se připravované novinky rozebírají a seznamuje se s nimi odborná veřejnost. AMD si slibuje, že skrze Mantle přiblíží svět nastupující generace konzol světu PC, protože obě nastupující konzole (Sony PS4 a Xbox One) mají čipy AMD založené na architektuře GCN. Výsledkem by měl být vyšší výkon pod Direct3D i OpenGL ve specifických situacích.
AMD ale zatím detaily o Mantle drží pod pokličkou a v podstatě zatím nemáme co popisovat. Více by se toho mělo o Mantle vědět až příští měsíc po akci Developer Summit.
Mantle je low-level rozhraní, což jej činí značně odlišným od rozhraní Direct3D nebo OpenGL, které označujeme jako high-level rozhraní, jež mohou operovat s velkým množstvím zařízení na trhu. To znamená množství architektur GPU a dalších specifických vlastností jednotlivých zařízení včetně ovladačů. Mantle bylo naproti tomu vyvinuto speciálně pro čipy architektury AMD GCN a snaží se jít co možná nejvíce pod povrch a nevyužívat zobecňování mezi kódem a hardwarem (GPU).
AMD vytvořilo Mantle, aby obešlo omezení pramenící z podpory jednotlivých čipů od různých výrobců. Jednotlivá GPU pod high-level rozhraními neukazují svůj plný potenciál, ale vše je na druhou stranu směřováno k jednotícímu standardu, jako je třeba Direct3D. Využijí jej všichni, ale někdy nejsou možnosti čipu zdaleka využity na maximum. Příkladem mohou být starší architektury VLIW 4/5 a současná GCM, které nemají mnoho společného, ale obě podporují Direct3D 11. To je ovšem problém nejen AMD, ale i všech konkurenčních čipů Nvidie nebo Intelu.
Každá z architektur se tímto handicapem vyrovnává jinak, resp. má jiný výkonový postih. Mezi hlavní problémy spadá memory management, kdy by bylo ideální vědět, kde jsou která data uložena a mít možnost vybrat velmi rychle ta data, kterou jsou potřeba, aby nevznikala prodlení. Stěžejní roli zde hraje CPU, jež připravuje příkazy pro GPU a všechny tyto příkazy musí být realizovány standardní cestou s nutnou mírou zobecnění pro hardware kompatibilní s daným rozhraním. Pokud chceme renderovat objekt, musíme GPU poslat požadavek (draw call) a aby se renderoval celý jeden snímek, pak musíme těchto požadavků zaslat na GPU opravdu hodně (typicky tisíce).
Je zřejmé, že Mantle bude AMD prosazovat i po dohodě s některými herními vývojáři, kteří jsou dlouhodobě nespokojení s některými vlastnostmi Direct3D a jejich dopadem na výkon. Někteří partneři tuto nespokojenost přednesli přímo Microsoftu už za doby Direct3D 10 a problém prý stále přetrvává. Pokud by Mantle dokázalo tento handicap částečně odbourat, nalezlo by oporu hned do startu.
Tento problém nebyl nikdy vyřešen k plné spokojenosti vývojářů, není se ale čemu divit. Např. dnešní high-endová GPU dokáží zpracovat podstatně více tzv. „draw calls“, než je schopno zaslat dnešní high-endové CPU. Prozatimní řešení problému je zpracovávat co možná nejméně draw calls i přes nevýhodu možného nevytížení GPU. Výkonová penalizace by ale byla větší, pokud bychom nechali CPU generovat podstatně více draw calls. Microsoft tedy vybral menší zlo. A tady nastupuje Mantle jako low-level API, které dokáže výše zmiňované nedostatky do značné míry eliminovat (umí ale i jiné věci).
Mantle je ale velmi svébytné a nikoli univerzální jako Direct3D. Všechna dřina však směřuje k jedinému cíli, čímž je těsnější propojení světa konzolí a PC pro vývojáře, kteří se soustřeďují na multi-platformní hry (titul vyjde na konzole, na PC i na MAC). Pokud bude Mantle standardní součástí vývoje, bude následné portování her na PC snadnější a z hardware (na obou stranách) se podaří dostat více výkonu.
Vývojáři herních titulů na konzole také využívají high-level API, což je především snadnější, jak vytvořit herní titul bez nutnosti znát všechny možnosti hardware, který bude daný titul využívat. Pokud ovšem pracujete převážně s jednou hardwarovou platformou, tak značně složitější low-level API dává podstatně větší smysl, protože čas investovaný do práce s low-level API přetavíte v podstatně efektivnější využití hardware, který máte k dispozici.
Pokud by Mantle bylo jen pro desktopové grafiky, zřejmě by se to nikdy nepodařilo, ale AMD má trumf v rukávu v podobě GPU integrovaných do obou konkurenčních konzol (Sony PlayStation 4 a Microsoft Xbox One). Aby toho nebylo málo, obě konzole mají odlišně výkonné GPU (Xbox má slabší), takže se vývojáři budou zřejmě snažit, aby hra vypadala dobře na obou zařízeních a pokud bude titul určen pouze pro jednu z konzol, pak zase naopak bude snaha vymáčknout z hardware absolutní maximum. Portování her z konzolí na PC znamenal vždy ztrátu optimalizací a následné využití high-level API (Direct3D a OpenGL), což by mělo být s příchodem AMD Mantle minulostí.
AMD si tak dělá cestičku, aby vývojáři nemuseli optimalizovat pro architekturu GCN na PC, čímž AMD může získat nějaký výkonnostní bonus oproti kódu pro konkurenční Nvidii či Intel. Méně výkonný hardware AMD tak bude třeba moci postupně dotahovat výkonnější čipy konkurence a nutit Nvidii ke snižování cen. Esem může být právě ona snadnost portů her z konzol na PC.
A jak snadné bude portování her v kontextu tvrzení, že grafické karty AMD mají stejnou architekturu jako integrovaná GPU v konzolích? Mantle není jen tak ledajaké low-level API, ale přímo low-level API založené na tom z konzole Microsoft Xbox One. Pokud se AMD podaří vše, jak zamýšlí, bude to opravdu majstrštyk, který konkurenci připraví nejednu bezesnou noc. Mantle navíc dokáže používat HLSL (High Level Shader Language) Direct3D. Ingredience pro velmi snadné portování her, které budou mít optimalizaci pro každou kartu AMD na PC s architekturou GCN, je tedy realitou, což je jedině dobře vzhledem k tomu, že PC se dostává u vývojářů her na okraj zájmu.
Možnost společného mostu pro portování her mezi PC a konzolemi je naprostá novinka a dosud jsme nic takového neměli. AMD sice ještě nepotvrdilo, že Mantle je skutečně v podstatě low-level API Xboxu One, ale je tu velká pravděpodobnost, že tomu tak je. Trochu by se vyjasnilo, proč AMD hodlá celou sezónu 2014 přežít s architekturou GCN se starými kartami s jádry Tahiti či Pitcairn. Protože ví, že nové hry budou optimalizovány pro Graphics Core Next a získají tím výkonnostní bonus, takže absence nových (výkonnějších) jader společnost nebude tak bolet. Snahy propojovat světy konzolí a PC jsou jasně zřetelné nejen na krocích AMD, ale i Nvidie, která představila svůj projekt Shield.
Bez software, který by toto nové low-level API AMD využíval, by celé snažení postrádalo smysl. AMD si je toho dobře vědomo, a proto už před oficiálním uvedení Mantle udělalo průzkum toho segmentu trhu, na kterém nejvíce záleží,a to jsou vývojáři her. Podle slov AMD Mantle existuje právě proto, že samotní vývojáři o něj stojí a nikoli proto, že by samotná společnost chtěla vytvořit umělý můstek mezi oběma světy. Pokud to nejsou jen silná slova a přední vývojářská studia se chopí této myšlenky (dá se to předpokládat, protože pro Xbox One bude chtít vyvíjet hry zřejmě skoro každý), pak bude Mantle trefou do černého.
Samozřejmě AMD má před sebou dlouhou cestu, než vytvoří bezchybně fungující cestu k jednotlivým vývojářům se zaváděním Mantle, ale na druhou stranu může do karet společnosti hrát fakt, že Mantle je velmi podobné ne-li stejné jako low-level API Xbox One, který si nikdo nedovolí ignorovat. Zavedením by se razantně změnil přístup vývojářů k platformám, pro které vyvíjí, a je pravděpodobné, že díky tomu získají více času a peněz na to, aby hry vypadaly lépe a využívaly všechny dostupné HW prostředky. Samozřejmě nelze předpokládat, že by rozhraní jako Direct3D nebo OpenGL zanikly, ale už nebudou hrát pro vývojáře prim.
AMD sází i na možnou spolupráci s dalšími producenty enginů jako je DICE Frosbite. Tak by se nemuselo nutně soustředit vždy na jednotlivé vývojáře, ale pouze na dodavatele dalšího middleware a rozsah působení AMD Mantle by se tak rozšířil s minimálním vynaloženým úsilím. Samozřejmě podpora jednotlivých vývojářů je nutnost, protože ne všichni používají licencované nástroje pro tvorbu her, ale u některých menších studií by tato taktika mohla fungovat.
Připravovaný Battlefield 4 (DICE) dostane letos v prosinci podporu právě Mantle. Electronic Arts oznámil, že bude DICE Frostbite engine pro tuto generaci svých her opravdu masivně využívat, což staví DICE mezí přední vývojářské firmy na trhu. Získáním takto silného partnera do začátku a titulů, který očekává každý druhý hráč, je pro AMD jako výhra v loterii. Dokáže přes DICE oslovit podstatně více vývojářů, než by dokázalo samo, neboť Frostbite je nyní na výsluní. AMD nemůže spoléhat pouze na jediného vývojáře a zřejmě tomu tak ani nebude, ale dohody se odtajňují, až když jsou uzavřené.
Stinnou stránkou všech výhod Mantle je rozmělnění případné podpory pro další velké hráče na trhu jako jsou Nvidia a Intel. Na rozdíl od herních konzolí totiž nejsou hardwarově kompatibilní, takže jedinou cestou, která byla dosud použitelná pro širší podporu tohoto specializovaného hardware, bylo využití high-level API Direct3D. Vývojáři si nemohou dovolit ignorovat tyto dva hráče, protože mají jasnou většinu na trhu s grafikami a navíc Intelu se daří v integrovaných grafikách čím dál víc. Nutnost optimalizace pro Direct3D tedy bude stále existovat. Širší podpora tak půjde alespoň u těchto firem stále na úkor vyššího výkonu.
Zajímavé může být srovnání s někdějším rozhraním Glide 3Dfx, které mělo také významný dopad na výkonnost specializovaného hardware schopného využívat výhod Glide, ale v širším měřítku se neprosadilo, protože konkurenční řešení nemohla profitovat z těchto optimalizací. To stejné by postihlo majitele karet bez GNC architektury. Podstatný rozdíl oproti tehdejší době je přítomnost konzolí (obou) s architekturou GCN, které na trhu her hrají absolutní prim (PC je až na druhé koleji, pokud se nejedná o nějaké specializované online hry). Obavy jsou na místě, ale každý vývojář si v tomto ohledu bude muset zvolit svou cestu. Podle mě negativa, které převážila u Glide, zde nehrozí, ale pouze následující roky nám ukáží, jak se bude chovat trh.
AMD nám v následujících týdnech odhalí více z toho, jaká je strategie pro prosazení Mantle v širším měřítku a jak se chce vyvarovat případnému neúspěchu. Dalo se očekávat, že AMD se bude snažit najít spojením mezi svým hardware na PC a hardware v konzolích, kde je dvorním dodavatelem GPU. Je ale Mantle např. s Xboxem One spojeno tak těsně, jak to naznačují některé zdroje, a totiž že jde pouze o převzaté low-level API Microsoftu? Dokázal by jít Microsoft do podobné spolupráce? V listopadu tohoto roku se dozvíme více po AMD Developer Summit.
AMD ale zatím detaily o Mantle drží pod pokličkou a v podstatě zatím nemáme co popisovat. Více by se toho mělo o Mantle vědět až příští měsíc po akci Developer Summit.
Mantle je low-level rozhraní, což jej činí značně odlišným od rozhraní Direct3D nebo OpenGL, které označujeme jako high-level rozhraní, jež mohou operovat s velkým množstvím zařízení na trhu. To znamená množství architektur GPU a dalších specifických vlastností jednotlivých zařízení včetně ovladačů. Mantle bylo naproti tomu vyvinuto speciálně pro čipy architektury AMD GCN a snaží se jít co možná nejvíce pod povrch a nevyužívat zobecňování mezi kódem a hardwarem (GPU).
AMD vytvořilo Mantle, aby obešlo omezení pramenící z podpory jednotlivých čipů od různých výrobců. Jednotlivá GPU pod high-level rozhraními neukazují svůj plný potenciál, ale vše je na druhou stranu směřováno k jednotícímu standardu, jako je třeba Direct3D. Využijí jej všichni, ale někdy nejsou možnosti čipu zdaleka využity na maximum. Příkladem mohou být starší architektury VLIW 4/5 a současná GCM, které nemají mnoho společného, ale obě podporují Direct3D 11. To je ovšem problém nejen AMD, ale i všech konkurenčních čipů Nvidie nebo Intelu.
Každá z architektur se tímto handicapem vyrovnává jinak, resp. má jiný výkonový postih. Mezi hlavní problémy spadá memory management, kdy by bylo ideální vědět, kde jsou která data uložena a mít možnost vybrat velmi rychle ta data, kterou jsou potřeba, aby nevznikala prodlení. Stěžejní roli zde hraje CPU, jež připravuje příkazy pro GPU a všechny tyto příkazy musí být realizovány standardní cestou s nutnou mírou zobecnění pro hardware kompatibilní s daným rozhraním. Pokud chceme renderovat objekt, musíme GPU poslat požadavek (draw call) a aby se renderoval celý jeden snímek, pak musíme těchto požadavků zaslat na GPU opravdu hodně (typicky tisíce).
Je zřejmé, že Mantle bude AMD prosazovat i po dohodě s některými herními vývojáři, kteří jsou dlouhodobě nespokojení s některými vlastnostmi Direct3D a jejich dopadem na výkon. Někteří partneři tuto nespokojenost přednesli přímo Microsoftu už za doby Direct3D 10 a problém prý stále přetrvává. Pokud by Mantle dokázalo tento handicap částečně odbourat, nalezlo by oporu hned do startu.
Tento problém nebyl nikdy vyřešen k plné spokojenosti vývojářů, není se ale čemu divit. Např. dnešní high-endová GPU dokáží zpracovat podstatně více tzv. „draw calls“, než je schopno zaslat dnešní high-endové CPU. Prozatimní řešení problému je zpracovávat co možná nejméně draw calls i přes nevýhodu možného nevytížení GPU. Výkonová penalizace by ale byla větší, pokud bychom nechali CPU generovat podstatně více draw calls. Microsoft tedy vybral menší zlo. A tady nastupuje Mantle jako low-level API, které dokáže výše zmiňované nedostatky do značné míry eliminovat (umí ale i jiné věci).
Mantle je ale velmi svébytné a nikoli univerzální jako Direct3D. Všechna dřina však směřuje k jedinému cíli, čímž je těsnější propojení světa konzolí a PC pro vývojáře, kteří se soustřeďují na multi-platformní hry (titul vyjde na konzole, na PC i na MAC). Pokud bude Mantle standardní součástí vývoje, bude následné portování her na PC snadnější a z hardware (na obou stranách) se podaří dostat více výkonu.
Vývojáři herních titulů na konzole také využívají high-level API, což je především snadnější, jak vytvořit herní titul bez nutnosti znát všechny možnosti hardware, který bude daný titul využívat. Pokud ovšem pracujete převážně s jednou hardwarovou platformou, tak značně složitější low-level API dává podstatně větší smysl, protože čas investovaný do práce s low-level API přetavíte v podstatně efektivnější využití hardware, který máte k dispozici.
Pokud by Mantle bylo jen pro desktopové grafiky, zřejmě by se to nikdy nepodařilo, ale AMD má trumf v rukávu v podobě GPU integrovaných do obou konkurenčních konzol (Sony PlayStation 4 a Microsoft Xbox One). Aby toho nebylo málo, obě konzole mají odlišně výkonné GPU (Xbox má slabší), takže se vývojáři budou zřejmě snažit, aby hra vypadala dobře na obou zařízeních a pokud bude titul určen pouze pro jednu z konzol, pak zase naopak bude snaha vymáčknout z hardware absolutní maximum. Portování her z konzolí na PC znamenal vždy ztrátu optimalizací a následné využití high-level API (Direct3D a OpenGL), což by mělo být s příchodem AMD Mantle minulostí.
AMD si tak dělá cestičku, aby vývojáři nemuseli optimalizovat pro architekturu GCN na PC, čímž AMD může získat nějaký výkonnostní bonus oproti kódu pro konkurenční Nvidii či Intel. Méně výkonný hardware AMD tak bude třeba moci postupně dotahovat výkonnější čipy konkurence a nutit Nvidii ke snižování cen. Esem může být právě ona snadnost portů her z konzol na PC.
A jak snadné bude portování her v kontextu tvrzení, že grafické karty AMD mají stejnou architekturu jako integrovaná GPU v konzolích? Mantle není jen tak ledajaké low-level API, ale přímo low-level API založené na tom z konzole Microsoft Xbox One. Pokud se AMD podaří vše, jak zamýšlí, bude to opravdu majstrštyk, který konkurenci připraví nejednu bezesnou noc. Mantle navíc dokáže používat HLSL (High Level Shader Language) Direct3D. Ingredience pro velmi snadné portování her, které budou mít optimalizaci pro každou kartu AMD na PC s architekturou GCN, je tedy realitou, což je jedině dobře vzhledem k tomu, že PC se dostává u vývojářů her na okraj zájmu.
Možnost společného mostu pro portování her mezi PC a konzolemi je naprostá novinka a dosud jsme nic takového neměli. AMD sice ještě nepotvrdilo, že Mantle je skutečně v podstatě low-level API Xboxu One, ale je tu velká pravděpodobnost, že tomu tak je. Trochu by se vyjasnilo, proč AMD hodlá celou sezónu 2014 přežít s architekturou GCN se starými kartami s jádry Tahiti či Pitcairn. Protože ví, že nové hry budou optimalizovány pro Graphics Core Next a získají tím výkonnostní bonus, takže absence nových (výkonnějších) jader společnost nebude tak bolet. Snahy propojovat světy konzolí a PC jsou jasně zřetelné nejen na krocích AMD, ale i Nvidie, která představila svůj projekt Shield.
Bez software, který by toto nové low-level API AMD využíval, by celé snažení postrádalo smysl. AMD si je toho dobře vědomo, a proto už před oficiálním uvedení Mantle udělalo průzkum toho segmentu trhu, na kterém nejvíce záleží,a to jsou vývojáři her. Podle slov AMD Mantle existuje právě proto, že samotní vývojáři o něj stojí a nikoli proto, že by samotná společnost chtěla vytvořit umělý můstek mezi oběma světy. Pokud to nejsou jen silná slova a přední vývojářská studia se chopí této myšlenky (dá se to předpokládat, protože pro Xbox One bude chtít vyvíjet hry zřejmě skoro každý), pak bude Mantle trefou do černého.
Samozřejmě AMD má před sebou dlouhou cestu, než vytvoří bezchybně fungující cestu k jednotlivým vývojářům se zaváděním Mantle, ale na druhou stranu může do karet společnosti hrát fakt, že Mantle je velmi podobné ne-li stejné jako low-level API Xbox One, který si nikdo nedovolí ignorovat. Zavedením by se razantně změnil přístup vývojářů k platformám, pro které vyvíjí, a je pravděpodobné, že díky tomu získají více času a peněz na to, aby hry vypadaly lépe a využívaly všechny dostupné HW prostředky. Samozřejmě nelze předpokládat, že by rozhraní jako Direct3D nebo OpenGL zanikly, ale už nebudou hrát pro vývojáře prim.
AMD sází i na možnou spolupráci s dalšími producenty enginů jako je DICE Frosbite. Tak by se nemuselo nutně soustředit vždy na jednotlivé vývojáře, ale pouze na dodavatele dalšího middleware a rozsah působení AMD Mantle by se tak rozšířil s minimálním vynaloženým úsilím. Samozřejmě podpora jednotlivých vývojářů je nutnost, protože ne všichni používají licencované nástroje pro tvorbu her, ale u některých menších studií by tato taktika mohla fungovat.
Připravovaný Battlefield 4 (DICE) dostane letos v prosinci podporu právě Mantle. Electronic Arts oznámil, že bude DICE Frostbite engine pro tuto generaci svých her opravdu masivně využívat, což staví DICE mezí přední vývojářské firmy na trhu. Získáním takto silného partnera do začátku a titulů, který očekává každý druhý hráč, je pro AMD jako výhra v loterii. Dokáže přes DICE oslovit podstatně více vývojářů, než by dokázalo samo, neboť Frostbite je nyní na výsluní. AMD nemůže spoléhat pouze na jediného vývojáře a zřejmě tomu tak ani nebude, ale dohody se odtajňují, až když jsou uzavřené.
Stinnou stránkou všech výhod Mantle je rozmělnění případné podpory pro další velké hráče na trhu jako jsou Nvidia a Intel. Na rozdíl od herních konzolí totiž nejsou hardwarově kompatibilní, takže jedinou cestou, která byla dosud použitelná pro širší podporu tohoto specializovaného hardware, bylo využití high-level API Direct3D. Vývojáři si nemohou dovolit ignorovat tyto dva hráče, protože mají jasnou většinu na trhu s grafikami a navíc Intelu se daří v integrovaných grafikách čím dál víc. Nutnost optimalizace pro Direct3D tedy bude stále existovat. Širší podpora tak půjde alespoň u těchto firem stále na úkor vyššího výkonu.
Zajímavé může být srovnání s někdějším rozhraním Glide 3Dfx, které mělo také významný dopad na výkonnost specializovaného hardware schopného využívat výhod Glide, ale v širším měřítku se neprosadilo, protože konkurenční řešení nemohla profitovat z těchto optimalizací. To stejné by postihlo majitele karet bez GNC architektury. Podstatný rozdíl oproti tehdejší době je přítomnost konzolí (obou) s architekturou GCN, které na trhu her hrají absolutní prim (PC je až na druhé koleji, pokud se nejedná o nějaké specializované online hry). Obavy jsou na místě, ale každý vývojář si v tomto ohledu bude muset zvolit svou cestu. Podle mě negativa, které převážila u Glide, zde nehrozí, ale pouze následující roky nám ukáží, jak se bude chovat trh.
AMD nám v následujících týdnech odhalí více z toho, jaká je strategie pro prosazení Mantle v širším měřítku a jak se chce vyvarovat případnému neúspěchu. Dalo se očekávat, že AMD se bude snažit najít spojením mezi svým hardware na PC a hardware v konzolích, kde je dvorním dodavatelem GPU. Je ale Mantle např. s Xboxem One spojeno tak těsně, jak to naznačují některé zdroje, a totiž že jde pouze o převzaté low-level API Microsoftu? Dokázal by jít Microsoft do podobné spolupráce? V listopadu tohoto roku se dozvíme více po AMD Developer Summit.