Hlavní navigace

Zpracovávání multimédií a dalších dat na grafických kartách

14. 10. 2009
Doba čtení: 5 minut

Sdílet

Za poslední rok se v linuxové komunitě začalo hodně mluvit o akceleraci videa na grafické kartě. Se zařazením VDPAU do NVIDIA ovladačů v minulém roce už nezůstalo jen u slov a dnes máme plně využitelné řešení jak pro zpracování multimédií, tak pro urychlení jiných třeba vědeckých výpočtů.

V jiných operačních systémech je akcelerace součástí 3D knihovny a pro výrobce není zas tak složité na to nalepit svoje ovladače. V Linuxu na tom jsme hůře, protože něco takového je ve vývoji a výrobci jdou spíše vlastní cestou. NVIDIA si tlačí svoje VDPAU, AMD XvBA a Intel VA-API. Objevují se i snahy všechno sjednotit pod jednu střechu, ale než se všechno vykrystalizuje, chvilku si počkáme. Zatím je VDPAU na velmi slibné cestě, má podporu mnoha aplikací a až si výrobci uvědomí, že k Linuxu patří NVIDIA, mohli bychom se dočkat i větší nabídky netbooků s jejími grafickými kartami.

Poté by nebyl problém přehrávat na relativně pomalých procesorech velmi náročná HD videa. Právě HD budeme v příštích několika letech slýchávat čím dál častěji. Rychlost přípojení k Internetu je každým rokem vyšší a vyšší. Dnes často není problém sehnat přímo do domů 10 Mbit/s linku za relativně rozumnou cenu. S takovou linkou uživatelé asi nebudou chatovat, ale stahovat si filmy, využívat nejrůznějších streamových služeb nebo třeba hrát náročné 3D hry přímo z Internetu. I toho se vydavatelské společnosti bojí, protože čím víc uživatelů s rychlou linkou, tím víc již přijde na to, že filmy nejsou jen v obchodech a ve stáncích. Video je na Internetu už nějaký ten rok, takže teď je čas zvyšovat kvalitu. Youtube už HD zavedlo a u dalších služeb to je jen otázkou času. Zvedají se tak nároky na připojení, ale i na počítače toto video přehrávající.

Druhá strana mince

Zde přichází první problém. Podobné služby používají přehrávače napsané ve Flashi. Ten nemá a nikdy neměl zrovna dech beroucí výkon a při přehrávání videa zaměstná i relativně výkonná dvoujádra. Pomalé procesory jako Intel Atom jsou na hraně použitelnosti a některá videa s ním bez dalších úprav nepřehrajete a to i přes to, že přes normální přehrávač byste neměli žádný problém. Tento problém řeší třeba video tag v HTML 5. Jeho implementace se potýká ovšem s řadou problémů, např. některé prohlížeče se rozhodli pro OGG, jiné pro h.264 a další na něj zatím jenom pokukují. Adobe, firma která dala Flashi život, si je vědoma zátěže jakou je Flash pro naše procesory, a tak se chystá uvolnit Flash 10.1, který by měl na grafických kartách NVIDIA nabídnout dekódování HD videa. Tím by se procesoru ulevilo. Je tu ovšem i druhá strana mince. Sice by se procesoru ulevilo a na zatížení systému by nebylo prakticky nic vidět, grafická karta by ale pracovala a o jejím zatížení a o její spotřebě se už tolik nedozvíme.

Grafické karty při náročných multimediálních výpočtech dokáží zkonzumovat velké množství elektrické energie. Procesor musí běžet tak jako tak, je nutné k němu vyživovat části grafického jádra, které by jinak byly vypnuté? Nejdramatičtěji se to projeví na snížené době výdrže na baterie. Na druhou stranu nabízí grafická karta trochu jiný výpočetní výkon v multimédiích oproti klasickému procesoru. Velkou silou je množství samostatných výpočetních jednotek a tedy i výkon v paralelních výpočtech. Odtud těží zpracování multimediálních dat, pro které je takovéto zpracovávání ideální. Grafická karta je také plně připravena na postprocessing obrazu, takže se vám může nakonec zdát, že obraz dekódovaný grafickou kartou je kvalitnější než obraz dekódovaný procesorem.

Netbooky to potřebují nejvíce

Počítače, které by nejvíce mohly těžit z hardwarového dekódování videa, jsou rozhodně netbooky. Nejčastěji v nich najdeme již zmíněný Intel Atom nebo ještě něco pomalejšího. Tak jako tak, na HD videa to není. Často je problém i s normálními videi. Všude se dočítáme, jak je výkon těchto procesorů dostatečný pro běžné uživatele, ale běžný uživatel by se rád koukal na video a je mu jedno, jestli jde o HD nebo ne. Pokročilejší uživatelé si zase kupují netbooky kvůli mobilitě a rádi by si třeba pustili nějaké to HD video na externím monitoru nebo rovnou televizi. Obě varianty mají s dnešní nabídkou netbooků smůlu. Na běžném Eeečku si bez kompromisů HD video nepřehrajete a na HD ve flashovém přehrávači můžete rovnou zapomenout. Možná i to je jeden z důvodů, proč jsou někteří uživatelé netbooků nespokojení s Atomem. Přece jen na spuštění aplikace si každý o 2 sekundy déle počká, ale když se vykresluje pouze každý druhý snímek filmu, tak to už začíná vadit.

Když to vše sečteme, zjistíme, že uživatelé chtějí video hlavně vidět. Když to bude HD, moc jim to neřekne a když to nepřehrají, budou to házet na obchodníka nebo svého kamaráda, který jim tu mašinku doporučil. A zde je další problém, který zvýšenou spotřebu doplňuje. Dnešní netbooky nemají možnost hardwarově zpracovávat video. Ovladače grafických karet Intel, které jsou dnes ve většině netbooků použity, to umí jen pro chipset GMA500, který je na druhou stranu asi nejhůře podporovaným chipsetem od Intelu v Linuxu. Když už se k podpoře nějak dostaneme, resp. budeme (ne)šťastní majitelé tohoto chipsetu, zjistíme, že dostat podporu VA-API do aplikací je bez kompilace nových balíčků nemožné. Když už i to se nám povede, zjistíme, že už ty programy nejsou tak stabilní jako před tím. Všechno kolem GMA500 je ve vývoji, a tak si ještě dlouho počkáme.

Řešením by bylo využít NVIDIA ION. Jde o grafické chipsety, které si sice výrobce nechá patřičně zaplatit, ale zároveň nabídne velký grafický výkon s nízkou spotřebou a digitálními výstupy. Ideální řešení pro každý netbook, který chce pracovat s multimédii. Pokud bude Linux stále více některé výpočty přetahovat na grafickou kartu, bude do budoucna NVIDIA ION vynikající volbou. Už nyní si s tímto grafickým chipsetem můžete v pohodlí své velké LCD televize vychutnávat velmi kvalitní filmy na LCD televizi z netbooku. VDPAU je relativně dobře podporovaná technologie a v dalších verzích přehrávačů a ovladačů to bude ještě lepší. Už teď se dá VDPAU v některých přehrávačích provozovat naprosto automaticky bez zásahu uživatele.

CS24_early

Závěr

Linux na tom s akcelerací videa není tak dobře jako jiné operační systémy. Nynější stav připomíná spíše osahávání dostupných možností. Nakonec se pravděpodobně dočkáme jednoho rozhraní, které pokryje veškeré rozdíly hardwaru. Pokud se podaří vyvinout otevřené ovladače do takového stavu, že se budou moci směle postavit těm uzavřeným, dohodnou se jejich vývojáři na společném postupu. Tak jako tak, video se tlačí na grafické karty čím dál víc. Uživatelům to přinese kvalitnější obraz a hlavně možnost přehrávat velmi náročná videa i tam, kde se jejich klasický procesor zadýchává.

Další odkazy

Seriál o technologii CUDA

Byl pro vás článek přínosný?

Autor článku

Adam Štrauch je redaktorem serveru Root.cz a svobodný software nasazuje jak na desktopech tak i na routerech a serverech. Ve svém volném čase se stará o komunitní síť, ve které je již přes 100 členů.