Full HD videa ve Flashi: GPU akcelerace konečně tady

0

Flash Player 10.1 a 1080p YouTube jsou tady

Flash Player 10.1 a 1080p YouTube jsou tady

Včera jsme vás informovali o tom, že YouTube tento týden spouští streamovaná videa i v rozlišení 1080p. Hned v první bodě jsme vytkli, že špatně optimalizovaný Flash Player dává v takovém případě zabrat i slabším dvoujádrovým procesorům, nedejbože úsporným Atomům, VIA Nano, AMD Neo, Intel CULV… Přitom většina GPU už několik let disponuje speciálními videodekodéry, které při přehrávání online obsahu nebyly vůbec využity.

Zároveň si možná pamatujete zprávu o chystaném Flash Player 10.1, který možnost GPU akcelerace měl přinést ještě před koncem letošního roku. Jak bylo slibováno, je i splněno. Adobe a Nvidia dnešním dnem 17.11. nový Flash Player v betaverzi uvádějí.

Flash Player 10.1 beta je zatím uveden jen pro PC. Verze pro mobilní zařízení, PDA, MID včetně platforem Nvidia Tegra, Creative Zii bude dostupná později. V první polovině roku 2010 se dočkáme finální verze pro všechny platformy.

Tip: První informace o Flash Player 10.1 a Open Screen Project

Nejpopulárnější video server tedy tento týden přináší Full HD video a zároveň Adobe vydalo novou verzi přehrávače, na kterém je YouTube postaven. Že by náhoda, nebo dobře připravený plán? Tyhle konspirační teorie se většinou týkají negativních věcí, pokud GPU akcelerace opravdu funguje, je opravdu jedno, zda se jedná o náhodu.

Betaverzi Flash Player 10.1 můžete stahovat i vy. Aktuální sestavení 10.1.54.45 je dostupné na webu Adobe jako Active-X prvek pro Internet Explorer nebo plugin pro ostatní prohlížeče. Podmínkou je operační systém Windows XP 32b, Windows Vista/7 32b i 64b. Další podmínky a omezení naleznete v Release notes nebo v dalších kapitolách článku.

Kdo umí, kdo ne a proč

Kdo umí, kdo ne a proč

V době psaní článku máme informace o funkčnosti akcelerace pouze s Nvidia GPU. V tuto chvíli, tj. 15:00 už možná podporu ohlásili i další výrobci, doplníme to případně později. Potěšující je, že v materiálech Nvidie se píše o akceleraci skrz standardní rozhraní DXVA, tedy věc v offline přehrávání už dobře známou a dlouho zavedenou. Vyvrátily se tak spekulace, že by se mohly o výpočty starat stream procesory a například proprietární rozhraní CUDA. DXVA probouzí naději i pro GPU AMD/ATI, Intelu a S3.

Nvidia

Nvidia uvádí podporu u všech karet GeForce 8000 a novějších (včetně IGP, mobilních variant a Ionu, Ionu LE), kromě GeForce 8800 GTS/GTX/Ultra s jádrem G80, ty neobsahuje VP2 dekodér s plnou akcelerací H.264. U Ionu, Ionu LE a GeForce 8400 GS je uvedena poznámka, že akcelerace nemusí být funkční u videa s nestandardním rozlišením. Opravy se dočkáme buď s novější verzí Flashe nebo ovladačů GeForce. U Ionu ještě zůstaňme, Nvidia upozorňuje, že může dojít k vypadávání snímků u 1080p v případě, že bude použit jednojádrový Atom (těch asi bude v miniboocích většina) a zároveň pouze jednokanálový přístup do paměti.

V dodaných materiálech k Flash Playeru se kalifornský výrobce na několika stranách chlubí, že oni HD i ve flashi zvládnou na všech v současnosti prodávaných kartách, včetně nettopů s Ionem a miniboocích Samsung N510, Lenovo S12 a HP Mini 311 (kdy přijdou ostatní výrobci, a proč se u nás ještě žádný Ion minibook neprodává?).

Intel podporu akcelerace ve svých miniboocích, nettopech ani noteboocích založených na GPU GMA 900/950/3000/3100 nenabízí, neobsahují totiž potřebné obvody. Teoreticky to zvládne X4500 HD a GMA 500 v čipsetu Poulsbo. Nvidia však tvrdí, že X4500 HD nemusí nutně znamenat plynulé video v případě, že se použije příliš slabý procesor (to však platí i pro Ion a Atom). Navíc má prý horší kvalitu obrazu (štiplavá poznámka Nvidie – „Intel vyměnil kvalitu videa za vyšší framerate“). Osobně s tímto GPU zkušenost nemám, snad to vyvrátí některý z čtenářů.

AMD/ATI

Adobe release notes hovoří jasně. Akcelerace je funkční s ovladači Catalyst 9.11 a Radeony s čipem UVD2.

V tabulce podporovaných tedy najdete Radeon HD 4000, Mobility Radeon HD 4000, IGP Radeon HD 3000, FirePro V3750, V5700, V7750, V8700, V8750 a novější. V případě IGP jde nejspíš o překlep, protože Radeony HD 3200 a HD 3300 v čipsetech AMD 780G respektive 790GX obsahují pouze UVD první generace. UVD2 je součástí pouze nové sady AMD 785G.

Není jisté, jestli je to chyba Adobe nebo AMD, každopádně si to zaslouží obrovský černý puntík. Zrovna tam, kde je síla GPU nejvíce potřeba (slabší notebooky, subnotebooky), se UVD2 nepoužívá. Úsporné platformy AMD Yukon nebo novější AMD Congo si musí o podpoře zatím nechat zdát, stejně tak notebooky s čipsetem RS780G.

Aktualizováno: na webu se už objevilo stanovisko AMD a potvrzuje to předchozí zprávy. Flash Player 10.1 není v případě AMD akcelerován přes DXVA rozhraní, ale ATI Stream. Prý je to jednodušší, lepší a lze využívat výhod CPU i GPU. Inu, proč dělat věci jednoduše, když to jde složitě. Podmínky UVD2 nicméně platit mohou, ATI Stream může klidně volat funkce UVD2 podobně, jako to dělá API DXVA. Podrobnosti v další kapitole.

Doplněny nové informace ve zvláštním článku.

Informace a tipy jsou na AMD blogu, případě můžete shlédnout (stylově) video na YouTube.

Intel

V materiálech Adobe (Intel nic neposkytl) se nepíše o konkrétních GPU, se kterými HD Flash bude pracovat, požadavky odbyli jen uvedením ovladačů 15.16.2.1986 pro Windows Vista/7 v 32b i 64b verzi a grafik Intel 4 Series.

Ano, v XP akcelerace fungovat nebude. Dekódovací jednotka Intel Clear Video pracuje pouze s DXVA2 v novějších systémem. Starší DXVA neumí a byli za to už několikrát kritizování v souvislosti s uváděním minibooků s XP a schopným čipsetem Intel GL40. Zodpovědnost v tom případě však nesl výrobce notebooku.

Čtvrtá série GMA se bude bezpochyby týkat pouze GPU X4500HD a mobilního varianty X4500MHD, tyto jediné potřebné obvody pro H.264 formát mají, obyčejná GMA X4500 ne. S těmito GPU se setkáte v čipsetech Intel G45 a mobilních Intel GL40, GS45, GM45 a Atomovém GN40. Akcelerace je teoreticky schopný i GMA 500 v čipsetu Poulsbo (US15W) v pro Atomy Zxxx, zmíněna však nikde není a vzhledem ke katastrofickým ovladačům této platformy bych se ani nedivil, kdyby to možné nebylo.

Ovladače pro Windows Vista/7 32b a Vista/7 64b.

Broadcom

Broadcom není výrobce GPU, ale jeho dekodéry videa naleznete kromě stolních set top boxů i v některých miniboocích. Nejvíce se asi mluvilo o produktech HP. Některé mají v základu nebo volitelně možnost připojit kartičku do Mini PCIe slotu, na které se nachází čip Broadcom Crystal HD Enhancer (přesněji BCM70012). Podobný čip BCM70015 zatím podporován není. Ostatně zkušenosti s Broadcom HD vám už v našem diskuzním fóru přinesl Lazar.

Ovladače jsou dostupné jen pro 32bitové systémy Windows XP, Vista a 7.

S3 Graphics

Adobe se o podpoře S3 Graphics nezmiňuje a samotný výrobce zatím ani není členem Open Screen Project – konsorcia, které se bude starat o budoucí vývoj webu, flashe, multimédií apod. S3 procesory podporující technologii ChromotionHD 2.0 (a vyšší) jsou DXVA akcelerace schopné (myšleno offline přehrávání). Online stream bohužel nemáme jak vyzkoušet a zastoupení mezi čtenáři asi nebude vysoké, spíš možná nulové.

Každopádně pokud máte kartu s čipem Chrome 530 GT, 540 GTX, 430 GT, 440 GTX případně na desce integrovaný Embedded Chrome 4000/5000, můžete akceleraci vyzkoušet a podělit se se zkušenostmi.

Jak jsme testovali

Jak jsme testovali

Flash Player (nebo spíš YouTube) v poslední verzích umí zobrazit podrobnosti o přehrávaném videu. U mě se volba zobrazila až ve verzi 10.1. Pravým kliknutím na video vyberete položku „Show Video Info„ a v pravém horním rohu se zobrazí nový boxík. Jednotlivé údaje snad není třeba podrobněji vysvětlovat a jsou všem jasné. Pro nás je důležité rozlišení, počet fps a vypadnutých snímků (drop frames).

Testy proběhly v prohlížeči Firefox 3.5.5, který je doporučován. Bez větších problémů se to týká i Internet Exploreru (o tom si ještě povíme) a zkoušel jsem úspěšně i Google Chrome 4. Předpokládám, že Opera bude fungovat také.

Tip: Adobe umí vytvořit log přehrávaného videa. Bude třeba v textovém editoru (stačí notepad) vytvořit soubor „mms.cfg“, do kterého zapíšete „EnableFileLogging=2“ (bez uvozovek) a uložíte do složky \Windows\System32\Macromed\Flash, pokud používáte 64b systém, tak raději i do \Windows\SysWOW64\Macromed\Flash.

Po restartování prohlížeče by se měl zapisovat log při každém přehrávání videa. Logy se nacházejí ve složce:

XP a Vista – \Documents and Setting\Jméno_uživatele\Application Data\Macromedia\Flash Player\Logs\extvideo.txt

Windows 7 – \Users\Jméno_uživatele\AppData\Roaming\Macromedia\Flash Player\Logs\extvideo.txt

Záznam se ukládá ve tvaru:

avgfps=30.24,codec=h264,bitrate=1632,url=http://v18.lscache7.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgorithm%2Cburst%2Cfactor&fexp=905207&algorithm=throttle-factor&itag=34&ipbits=0&burst=40&sver=3&expire=1258434000&key=yt1&signature=A4C69036B84F8A2C63C9B83C41057E8AEFF768F0.823FCA4A0A95E484A384EDB209CFA65ECF04AD04&factor=1.25&id=fe2d910816b797e8&

Důležitá je první hodnota, která udává průměrný počet snímků za vteřinu. V Internet Exploreru však logování nemusí fungovat.

Jestli jste četli podrobně, dozvěděli jste se, že Ion, Ion LE a GeForce 8400 GS nemusí přehrát některá videa s nestandardním rozlišením plynule. Týká se to streamů, které jako výchozí využívají SD rozlišení s 854 pixely v horizontálním směru místo obvyklých 640. I když pak video přepnete na HD, GPU akcelerace zřejmě dále nebude fungovat, musí se restartovat prohlížeč. Zamezit tomu můžete nastavením brokeru tak, aby si historii ani cache stránek nepamatoval, nebo před každým spuštěním násilně zvolit režim přehrávání z tabulky kódů doplněných do URL v adresním řádku prohlížeče.

název kód rozlišení video audio audio kontejner
    320 × 240 H.263, 200 kbps 64 kbps, mono MP3, 22 kHz .FLV
HQ &fmt=6 480 × 360 H.263, 900 kbps 96 kbps, mono MP3, 44,1 kHz .FLV
SD &fmt=18 480 × 360 H.264, 1000 kbps 128 kbps, stereo AAC, 44,1 kHz .MP4
HD &fmt=22 1280 × 720 H.264, 2000 kbps 230 kbps, stereo AAC, 44,1 kHz .MP4
HD &fmt=37 1920 × 1080 H.264, 3500 kbps 230 kbps, stereo AAC, 44,1 kHz .MP4

V případě, že Full HD 1080p vynutíte zapsáním &fmt=37, tlačítkem HD můžete přepnout i do menšího 720p.

Testovací sestava

  • PC – AMD 780G, Athlon X2 4850e (2,5 GHz), GeForce 9600 GT, 2× 2 GB RAM 800 MHz, Windows 7 64b
  • Asus N10J – Atom N270 (1,6 GHz), GeForce 9300M GS, 1× 2 GB RAM 667 MHz, Windows Vista 32b

Stolní sestava je nižší main-stream, vyzkoušíme i IGP Radeon HD 3200. Asus N10J je zajímavější a pro náš test i důležitější – jednojádrový Atom se single-channel přístupem do paměti může být brzdou systému, zároveň je diskrétní karta GeForce 9300M GS podobná GPU v Ionu. Velkou výhodou je ovšem vlastní 256MB frame-buffer.

Výsledky na různých platformách

Výsledky na různých platformách

GeForce 9600 GT + Athlon 4850e

Nvidia doporučuje použít ovladače GeForce 195.50 beta (neveřejná), funkčnost jsem ale vyzkoušel i s certifikovanými WHQL GeForce 191.07. Jako testovací video posloužil trailer k filmu Avatar (1080p). Video, které jsme použili ve včerejší novince nebylo příliš vhodné. U domácího záznamu natočeného ruční kamerou bez stabilizace lze těžko poznat, jestli je špatná plynulost na straně zdroje nebo přehrávání. Při rozlišení 720p jsem dosáhl stejných výsledků.

V případě počítače s GeForce 9600 GT byla akcelerace pozorovatelná i na tomto videu. Ve Flash Player 10, který jsem použil včera se zatížení pohybovalo nad 80 procenty – screenshot.

Trailer k filmu Avatar byl také přehráván bez obtíží, CPU load se pohyboval mezi 20-30 procenty. Aktivní CnQ procesoru způsobovalo neustálou změnu taktů, většinu času ale běžel na nejnižších 1000 MHz. Stejné chování včetně zatížení procesoru jsem pozoroval i při offline přehrávání stejného videa staženého na PC v přehrávači WMP12, který DXVA akceleraci také umí.

Klikněte pro zvětšení. Všimněte si nulové hodnoty u vypadnutých snímků, přehrávání bylo plynulé, framerate se držel okolo 30 fps (tedy stejně jako zdrojové video). Při rozlišení 720p je výsledek shodný.

Atom N270 + GeForce 9300M GS

Mirek Jahoda vyzkoušel důležitější test na minibooku Asus N10J. Zatímco stolní PC zvládlo 1080p video i silou procesoru, Atom N270 v žádném případě. Diskrétní grafika GeForce 9300M GS fungovala také. Nvidia se může právem chlubit nejlepší podporou videa na všech platformách.

První obrázek: se starou verzí Flash Playeru neběží plynule ani SD video, byť ve formátu H.264. Druhý obrázek: akcelerace úspěšně zapojena, 720p video s několika vypadnutými snímky. Klikněte pro zvětšení.

Z Mirkových fraps logů jsme sestavili průběhové grafy fps.


1080p GPU akcelerace na snímku | 1080p CPU akcelerace zde

720p GPU akcelerace na snímku | 720p CPU akcelerace zde

Asus N10J
    Atom N270 GeForce 9300M GS
SD 480p min. fps 16 21
max. fps 26 30
avg. fps 21,5 24,8
       
HD 720p min. fps 1 19
max. fps 20 27
avg. fps 10,4 22,9
       
HD 1080p min. fps 0 12
max. fps 4 22
avg. fps 1 17,7

 

Testování proběhlo na SD 480p, HD 720p a HD 1080p. Z tabulky a průběhů fps lze vidět, že samotný Atom si s přihmouřeným okem poradí se standardním rozlišení ve formátu H.264. Vyšší 720p už je pak doménou pouze GPU a při Full HD jsou trochu problémy i s grafickou kartou. Průměrný framerate necelých 18 fps není ideální a vlastně to potvrzuje obavy Nvidie, že jednojádrový Atom a single-channel RAM jsou brzdou. Výsledek bude zřejmě ovlivněn i kompozitním desktopem Windows Vista Aero, který u slabších diskrétních karet a IGP způsobuje propady počtu fps.

AMD/ATI

Z legrace jsem vyzkoušel i IGP Radeon HD 3200, ostatně je zmíněn i v Adobe release notes. Přehrávání mě překvapilo. Zatížení se pohybovalo mezi 40-60 procenty (spíš okolo 50). AMD GPU Clock Tool, který monitoruje UVD jednotku hlásil, že se nepoužívá. Přesto bylo přehrávání relativně dobré (pár vypadnutých snímků) a zatížení procesoru bylo nižší než ve starších verzích Flash Playeru.

Klikněte pro zvětšení

Lazar vyzkoušel akceleraci na systému Windows Vista 64b s procesorem Intel Core 2 Quad QX6700 a kartou Radeon HD 4870. Výsledky jsou trochu zneklidňující, s Flash Player 9 (10 %) byl CPU load nižší než v případě verze 10.1 beta (18 %). Adobe zmiňuje jako podmínku verzi ovladačů Catalyst 9.11, Lazar použil ovladače z ATI Stream SDK 2.0 beta4 (v CCC označeny jako Catalyst 9.11, nemusí jít o finální verzi).

Výsledky Radeonu HD 4870 ve Windows Vista 64b, Catalyst 9.10: Flash Player 9 | Flash Player 10.1

Zvláštní výsledky hlásí i Anandtech. Radeon HD 3200 nezvládá akceleraci vůbec a zátěž dosahuje 100 procent. Procesorem je jednojádrový Sempron LE-1150. Výsledek tedy odpovídá našemu testu s dvoujádrovým Atomem a loadem 50 %.

Redaktoři ovšem zkusili i test na novince Radeon HD 5850. Sempron se vůbec nechytá, Athlon II X2 240 pak s Flash Player 10 způsobuje 80% zatížení, s verzí 10.1 pak 72% zátěž (!). Později Anandtech dodal, že také netestovali s Catalyst 9.11. V tom může být jádro pudla.

Aktualizace: před chvílí AMD/ATI vydali finální ovladače Catalyst 9.11. Uživatele v diskuzích uvádějí, že GPU akcelerace je opravdu funkční. Potvrzuje to i screenshot z Lazarova systému. Pořád platí, že akcelerace je možná jen s GPU Radeon HD 4000 a novějšími.

Další platformy

Už zmíněný Anandtech vyzkoušel GPU akceleraci i na podporovaném Intelu GMA X4500MHD. Zlepšení s Flash Player 10.1 beta je znatelné u YouTube, ale na videích Hulu.com přesto k problémům dochází (10 fps).

Redaktoři zkusili (úspěšně) i minibook HP Mini 311 s čipovou sadou Ion LE. Dále píší o alternativních OS. GNU/Linux podporu zatím nemá a Mac OS X není dostatečně otevřený vývojářům (Apple nezpřístupnil požadované API). V případě linuxových systémů ale existuje možnost alternativního flashového přehrávače Gnash (info na Phoronixu).

Lazar na poslední chvíli vyzkoušel kombinaci Broadcom Crystal HD a Flash Player 10.1 beta, akcelerace se však nekonala. Broadcom možná koncovým zákazníkům neposkytuje ovladače, ty jsou dostupné až na webu výrobce příslušného notebooku, starší verze si ale zřejmě akceleraci (online streamů) neumí.

Vítězové a poražení

Vítězové a poražení

Nová verze Flashe je konečně venku, funguje. Zbývá jen pochválit či pokárat zainteresované společnosti, jak k věci přistupovaly. Berte na vědomí dnešní datum testu i beta stádium Flash Playeru. Budoucí verze mohou leccos změnit, určitě vás budeme informovat.

Adobe – i když už betaverze přehrávače v některých případech funguje, vydání přišlo pozdě, velmi pozdě. Online video ve Flashi je i v HD rozlišení přístupné rok nebo dva. Grafické karty disponují potřebnými obvody let už několik. Pozdě ale přece v tomto případě neplatí, pořád je ještě co opravovat. V betě vlastně ani není jasné, které problémy způsobují ovladače a které nefinální software Adobe. Pokud bychom měli známkovat jako ve škole, je to nejlépe trojka.

Nvidia – úkolu se zhostila výborně, spolupráce s Adobe nejspíš probíhala bez problémů. Kalifornská společnost umí GPU akceleraci využít na největším počtu GPU, relativně bez problémů (Atomy a nestandardní rozlišení) a vlastně potvrdila pozici lídra v oblasti multimédií a videa (nemyslím teď hry). Za jedna.

AMD/ATIvazba na UVD2 a ATI Stream, proč? Nejsou vydány funkční ovladače pro Flash Player, proč?Podpora jen pro silnější grafiky (a vlastně i systémy), ale na pomalé úsporné platformy se zapomnělo? Proč? K dnešnímu dni je to jasná pětka a měli by zůstat po škole.

S vydáním finálních Catalyst 9.11 se funkčnost potvrdila na kartách s UVD2. Výtka ale stále platí. Tam, kde je akcelerace nejvíce potřeba (na úsporných platformách) a IGP (kromě AMD 785G), akcelerace v současné době není možná. Známku tedy přepisuji, stále je to ale trojka, maximálně dvě mínus.

Novému hodnocení je věnován zvláštní článek, akcelerace je potvrzena i na starších Radeonech s UVD první generace, včetně IGP. Známka 1–.

Intel – v podstatě stejné výtky jako u ATI. Intel ale vždycky hodnotu HD videa na svých řešeních snižoval, na miniboocích přece HD nebylo třeba. Vzhledem k výsledků Anandtechu je to aspoň čtyřka.

S3 a VIA – obrovský počet neomluvených hodin, ročník si budou muset zopakovat.

Další skupinou by mohl být ještě YouTube (a podobné servery), internetoví provideři a filmoví/televizní producenti. Především poslední dva čelí kritice v souvislosti s uváděním novinek už od počátku broadbandu. Ze slušnosti je ale dnes necháme být.

Poznámka na závěr: Adobe Flash Player 10.1 beta umí využít GPU akcelerace přehrávání videa. Nvidia slibuje, že v budoucích verzích bude možná počítat i Flash animace. Na tohle je DXVA rozhraní krátké, osobně tipuji, že akcelerace bude probíhat na bázi DirectCompute, které Adobe plánuje použít i v nových aplikacích Adobe CS5.

Za poskytnutí výsledků a screenshotů patří díky Lazarovi

Ohodnoťte tento článek!