Recenze  |  Aktuality  |  Články
Doporučení  |  Diskuze
Filmy a seriály, streamovací služby
Televize  |  Projektory
Audio a domácí kina
Multimediální centra  |  Ostatní
Svět hardware  |  Digimanie
Svět mobilně

Overlay vs. primary surface

15.10.1999, Radek Jahoda, recenze
Chcete-li vědět, co je to primary a overlay surface a jak je čip BT8x8 používá, je tento článek určen právě pro Vás.
BT8x8 umí zobrazit video přes sběrnici PCI přímo do grafické karty do jejího bufferu. K tomu potřebuje znát adresu tohoto bufferu. Tato adresa se zjišťuje pomocí DirectDraw interface (DDI).
Surface je jakási "plocha" na obrazovce, kam aplikace "kreslí" - konkrétně je to jakýsi buffer, složený s pixelů. Navíc jsou nad ním definovány jisté operace (blitting). BT8x8 umí pracovat se dvěmi plochami (surface). Je to primary surface a overlay surface. Primary surface je přímo viditelná plocha na obrazovce. Zapisuje se pouze tam, kam je vidět, jinak řečeno se nezapisuje do těch částí okna, která jsou schovaná pod jinými. Overlay surface je jakási virtuální plocha. Ta může být překrýváná jinými, ale pracuje se s ní stále stejně, jako by byla celá. Pro program je tato plocha pouze jediné barvy (tzv. key color). U BT8x8 se používá barva fialová. Pokud se zobrazuje video, jsou jednotlivé pixely ukládány pouze tam, kde je příslušná barevná plocha. Toto porovnání je provedeno v grafické kartě, ne všechny ale toto umožňují.

V praxi ovladače BT8x8 nejprve požádají o vytvoření overlay surface. Pokud ho grafická karta podporuje, BT8x8 začne přenášet video data do paměti grafické karty a ty jsou následně zobrazeny. Pokud vytvoření overlay surface selže, je vytvořeno primary surface. Jeho nevýhodou je, že při změně parametrů okna (velikost, překrývání) se musí vytvořit nové souřadnice, kam se má zobrazovat. Toto je pomalejší, než u overlay, kde se toto neprovádí. Další nevýhodou je, že se data přenáší přímo ve formátu příslušného grafického módu. Pokud je tedy použita hloubka barev 8 bitů, tedy celkem 256 barev, kvalita obrazu je mizerná. Oproti tomu u overlay surface je možné zobrazovat i v 8 bitové barevné hloubce plnohodnotný obraz v plné barevné hloubce. Další vlastností, které nelze u primary surface využít, je zobrazení čehokoli přes obraz, např. textu apod. Lze tak listovat v teletextu, zatímco na pozadí běží přijímaný obraz. Stejné vlastnosti využívá i Intercast.

Nesmíme zapomenou ani na rychlost přenosu a šířku pásma. Primary surface potřebuj přibližně čtyřikrát větší šířku pásma než overlay surface a zatěžuje tak více celý systém. V praxi tento rozdíl je ale zanedbatelný a lze rozeznat pouze hardwarovými analyzátory.