Hardware overlay - Hardware overlay

Ve výpočetní , hardware překrytí , typ překrývání videa , poskytuje způsob zobrazování obrazu na displeji s vyhrazenou pamětí uvnitř počítače grafického hardwaru . Tato technika má za cíl zlepšit zobrazení rychle se pohybujícího video obrazu -například počítačové hry , disku DVD nebo signálu z televizní karty . Většina grafických karet vyrobených zhruba od roku 1998 a většina přehrávačů médií podporuje hardwarové překrytí.

Překrytí je vyhrazená vyrovnávací paměť, do které může jedna aplikace vykreslovat (obvykle video), aniž by tím vznikly značné náklady na výkon při kontrole ořezávání a překrývání vykreslování jinými aplikacemi. Framebuffer má hardwarovou podporu pro import a vykreslování obsahu vyrovnávací paměti bez procházení GPU.

Přehled

Použití hardwarového překrytí je důležité z několika důvodů:

  1. V operačním systému s grafickým uživatelským rozhraním (GUI), jako je Windows , může jedno zobrazovací zařízení obvykle zobrazovat více aplikací současně.
  2. Zvažte, jak funguje displej bez hardwarového překrytí. Když se každá aplikace kreslí na obrazovku, musí grafický subsystém operačního systému neustále kontrolovat, aby se zajistilo, že se kreslené objekty objeví na příslušném místě na obrazovce a že nekolidují s překrývajícími se a sousedními okny. Grafický subsystém musí při kreslení ořezávat objekty, když dojde ke kolizi. Tato neustálá kontrola a ořezávání zajišťuje, že různé aplikace mohou navzájem spolupracovat při sdílení displeje, ale také spotřebovává značnou část výpočetního výkonu.

Počítač čerpá ze svého displeje zapisováním bitmapové reprezentace grafiky do speciální části své paměti známé jako video paměť . Bez hardwarových překryvů existuje pouze jeden kus video paměti, který musí sdílet všechny aplikace - a umístění video paměti dané aplikace se přesune, kdykoli uživatel změní polohu okna aplikace. U sdílené videopaměti musí aplikace neustále kontrolovat, zda zapisuje pouze do paměti, která k dané aplikaci patří.

Při spouštění vysokorychlostní video aplikace, jako je přehrávač filmů nebo některé hry, má výpočetní výkon a složitost potřebná k neustálému ořezávání a kontrole negativní vliv na výkon a kompatibilitu. Překrytí hardwaru těmto omezením uniká. Kromě toho grafický procesor (GPU) poskytuje efektivní způsob, jak škálovat video velikosti a často vystupuje barevně ve formátu konverze (například MPEG-2 je YCbCr na RGB).

Aplikace využívající hardwarové překrytí získá zcela samostatnou část video paměti, která patří pouze dané aplikaci. Protože to nepoužívá nic jiného, ​​program nikdy nepotřebuje plýtvat prostředky při kontrole, zda mu daný kus paměti patří, ani nemusí sledovat, zda uživatel přesouvá okno a mění umístění videopaměti. Aby se obraz ze samostatné videopaměti zobrazil souběžně se zbývajícími sdílenými prvky na displeji, grafický subsystém přiřadí určitý atribut (například konkrétní barvu) jako „masku“ pro toto překrytí, které grafická karta chápe, že to znamená čerpat ze samostatného překryvného bufferu na obrazovku. (Tato technika se stala známou jako „ chroma klíč “.)

Předpokládejme například, že grafický podsystém definuje barvu „fialovou“ jako barvu masky, která spouští překrytí. Aplikace, která přehrává DVD, nakreslí na sdílené obrazovce pevný fialový obdélník a poté „přehraje“ DVD do speciální oblasti paměti vyhrazené překrytí. Grafická karta vykreslí přehrávání DVD pouze uvnitř fialové oblasti. Pokud se přes horní část fialové oblasti přesune jiné okno a zakryje jeho část, pak grafický hardware provede oříznutí sám. V praxi se skutečná barva „fialová“ nepoužívá - buď se použije nepopsatelná téměř černá barva (protože systém má často na výběr tisíce takových odstínů), nebo je oblast masky označena pomocí nějaké podobné maskovací metody nezahrnující barvy.

Snímky obrazovky

V důsledku použití hardwarového překrytí program pro snímky obrazovky (například ten, který je automaticky zabudován do systému Windows a aktivuje se, když uživatel stiskne klávesu PrtSc) často nezachytí obsah zobrazený v okně překrytí hardwaru. Je spíše zachycena prázdná oblast obsahující pouze speciální barvu masky. Důvodem je, že rutina snímání obrazovky nebere v úvahu speciální oblasti videopaměti vyhrazené překryvům - jednoduše zachycuje sdílenou hlavní obrazovku vykreslenou grafickým subsystémem softwaru.

Sekundární displeje

Mnoho novějších grafických karet může jako výstupní zařízení podporovat více než jeden monitor a/nebo televizní obrazovku. Obvykle musí být jedno z těchto výstupních zařízení prohlášeno za „primární“ zařízení a hardwarové překryvy může zobrazovat pouze primární zařízení. Existují výjimky: Společnost Intel u svých integrovaných grafických ovladačů ve FAQ píše, že překrytí lze připojit k jednomu z displejů, ale ne k oběma (poznámka: Čipové sady Intel 945, G33-Q965 nyní mají duální hardwarové překrytí a jsou schopné mpeg2 dobré kvality na sekundárních monitorech, když je nainstalován příslušný software) a některé novější grafické karty Matrox podporují překrývání na obou displejích (například řada Parhelia).

Sekundární displeje vyžadují podporu hardwaru i ovladače; některé grafické karty mohou podporovat překrytí na druhém displeji, zatímco jejich ovladače to ještě nemusí podporovat (poznámka: nedávné (červenec 2008) chyby ovladačů grafických čipových sad mohou způsobit, že většina formátů videa kromě mpeg2 bude fungovat na obou monitorech a mpeg2 pouze na primárním u většiny hráčů).

Někteří uživatelé poznamenávají, že filmy na DVD se zobrazují správně na obrazovce notebooku, ale nezobrazují se na televizoru připojeném k notebooku; v těchto případech může být možné určit televizor jako primární displej. Někdy může být nutné použití hardwarových překryvů v přehrávači médií zakázat. Některé grafické karty však mají možnost zcela přesměrovat hardwarové překrytí na televizní obrazovku. V takovém případě by spuštění přehrávače DVD na hlavní obrazovce s povoleným překryvem mělo za následek zobrazení videa na připojené televizní obrazovce.

Implementace v různých operačních systémech

Vylepšené grafické funkce systému Windows Vista nahrazují základní koncept hardwarových překryvů úplným složením hardwaru pro každé okno aplikace spuštěné v systému, nejen pro přehrávače filmů nebo hry, prostřednictvím Správce oken plochy . Mac OS X používá hardwarové kompozice od zavedení Quartz Extreme do Mac OS X 10.2 . Aby se zlepšil výkon, každý program místo pomalého grafického subsystému čerpá z vlastní nezávislé vyrovnávací paměti. (Ve Windows Vista je každé hardwarové překrytí známější jako povrch Direct3D). Poté systémový grafický procesor v reálném čase sestaví každé z oken do jediné obrazovky. Díky moderním grafickým procesorům, které jsou schopné pokročilé 3D grafiky (v důsledku videoherního průmyslu), mohou operační systémy aplikovat výpočetně náročné pohybové, škálovací a světelné efekty na běžná 2D okna.

Kvůli potřebě snížit spotřebu energie přidal Windows 7 zpět omezenou podporu překryvů a Windows 8.1 přidal podporu vícevrstvých překryvů. Víceúrovňové překryvy umožňují Správci oken plochy automaticky vykreslovat části plochy do překryvů, což šetří energii za více okolností.

V systému X Window System , okenním systému většiny operačních systémů Unix , může rozšíření XVideo umožnit aplikacím využívat hardwarové překryvy. Používá se také kompozice, přičemž od roku 2006 jsou nejvýznamnějšími příklady správci oken compiz a Beryl compositing window . Jsou schopni využít výhody OpenGL (prostřednictvím rozšíření glx) pro 3D a 2D překryvné vizuální efekty. Další implementace jako Metacity a xfwm jsou k dispozici od roku 2004.

Některá vyhrazená hardwarová překryvná zařízení používají jako operační systém vestavěný Linux , například video logger [1] od Racelogic používá mikrořadič Texas Instruments DM355 k smíchání vyrovnávací paměti snímků obsahující grafiku na živý přenos videa a výsledek uloží do Formát MPEG-4 na flash kartě.

Podpora překrývání aka Picture In Picture (PIP) byla zavedena do AmigaOS se zavedením grafických karet pro PC, grafických ovladačů Picasso96 a CyberGraphX neboli ReTargetable Graphics , pro karty Picasso IV a Voodoo3 se systém ovladačů picasso'96 stal standardem v AmigaOS 3.5. Moovid byl jedním z prvních přehrávačů videa, které podporovaly hardwarové překrytí (PIP) na AmigaOS .

Reference