Asus
Grafická pipeline IV: Monitor
Další a dnes již poslední díl minisérie o grafické pipeline je věnován monitorům. Dnes si ukážeme, jak se přenáší obraz z naší počítačové hry na monitor, co je to Swap Chain, Double a Triple Buffering, jak funguje vertikální synchronizace obrazu a jak se díku ní můžeme zbavit nepříjemného Tearingu.
gpureport.cz  Pavel Šantrůček  22.09.2016

OBSAH:
1. Swap Chain a Double Buffering          
4. VSync          
2. Monitor          
5. Triple Buffering a VSync          
3. Screen Tearing          
6. Závěr          
 

Monitor

Pokud se podíváme na data, která nám grafická karta do monitoru zaslala a odchytíme jeden celý snímek, vypadalo by to asi takto:

 

Video signál

 

Kromě očekávané oblasti Active Video Area, která obsahuje náš snímek ze hry o velikosti 1080 řádek po 1920 pixelech, jsou součástí zasílaného obrazu také nějaká data navíc – Horizontal (zelená část) a Vertical (červená část) Blanking. Abychom si vysvětlili proč tomu tak je, musíme jít trochu zpět do minulosti, tedy do éry CRT monitorů.

CRT monitory pracovaly na principu vysílání paprsků elektronovými děly na stínítko potažené fosforem, který se v místě osvitu rozsvítil. Aby elektronový paprsek osvítil celou obrazovku, musel se po stínítku pohybovat po řádcích zleva doprava a když dorazil na poslední řádek obrazovky, musel se opětovně přemístit na svou startovací pozici v levém horním rohu obrazovky.

 

VBlank, HBlank

 

Horizontální i vertikální přesuny paprsku elektronového děla trvaly určitý čas a v přenosovém signálu to muselo být nějak zohledněno. Dnes v době LCD panelů se už sice žádné elektronové dělo nepoužívá, nicméně prapůvodní standardy tu s námi kvůli zpětné kompatibilitě zůstaly. Všeho se ale dá úspěšně využít a nejinak tomu je v případě těchto „jalových“ časů HBlank a VBlank. V době HBlank a VBlank, tedy v době, kdy na monitor nejsou zasílána viditelná data (pixely), je tohoto volného prostoru využito k zasílání přidružených informací, jako jsou zvukové stopy, či v případě TV například Teletext.

Podíváme-li se na obrázek odchyceného snímku znovu, můžeme říci, že v případě, kdy hrajeme nějakou počítačovou hru, ve které máme nastaveno rozlišení 1920x1080 pixelů, grafická karta ve skutečnosti na monitor počítače odesílá obraz o velikosti 2200x1125 pixelů.

Budeme si nyní všímat pouze řádků odchyceného snímku, které představují také čas. Vidíme, že tam Active Video Area (tedy náš snímek ze hry) zabírá celkem očekávaných 1080 řádků a dalších 45 řádků patří oné Blanking Area. Můžeme tedy říci, že v případě zpracování našeho snímku monitorem je doba představující 1080 řádků věnována zapisování na displej (daty, které budou vidět) a po dobu zbylých 45 řádků se na obrazovku nebude zapisovat nic (zpracovávají se pouze přidružené informace). Tomuto času, při kterém monitor sice pracuje, ale nevykresluje data na displej, se říká „Vertical Blanking Interval“ neboli VBLANK a zkráceně také VBI.

 

Pixel Clock a Obnovovací frekvence (Refresh Rate)

Pokud se podíváte do specifikací monitoru, je tam uvedena položka s názvem „Pixel Clock“, která udává výkon elektroniky monitoru. Jednodušeji řečeno jde o počet pixelů, které je elektronika schopna zpracovat za jednu sekundu. U valné většiny dnešních monitorů je touto hodnotou 148,5 MHz. My z této hodnoty můžeme klidně vypočítat, jaká je obnovovací frekvence monitoru (Refresh rate), tedy kolik celých snímků za sekundu náš monitor umí zpracovat.

Pokud snímek obsahuje v jednom řádku 2200 pixelů (včetně Blanking Area), pak 148 500 000 / 2200 = 67 500 řádků za sekundu. Známe-li počet řádků, můžeme si vypočítat také výkon v celých snímcích, tedy 67 500 / 1125 = 60 snímků za sekundu. Můžeme tedy říci, že monitor s udávaným Pixel Clock 148,5 MHz je schopen zobrazit „pouze“ 60 snímků za sekundu, neboli jeho obnovovací frekvence (Refresh rate) je 60 Hz. Jak vidíte, obnovovací frekvence je tedy veličinou konstantní, která je dána pouze možnostmi elektroniky monitoru. Čím vyšší obnovovací frekvence, tím vyšší jsou také nároky na elektroniku monitoru, což se zase negativně projevuje ve vyšších pořizovacích cenách takovýchto monitorů. Jak důležité je ale mít obnovovací frekvenci monitoru co nejvyšší, uvidíte později.

Pokud bychom si konstantní obnovovací frekvenci monitoru zaznamenali do časového diagramu, vypadalo by to následovně:

 

Refreh rate

 

Při obnovovací frekvenci monitoru 60 Hz zobrazení každého snímku trvá 16,66 ms (1000/60). Tato doba je rozdělena do části kdy se monitor věnuje zobrazení viditelných dat (červená) a části, kdy žádná data zobrazována nejsou – Vertical Blanking Interval (černá). Pokud by vás zajímalo, jak dlouho trvá interval VBI, pak to můžeme zjistit jednoduchým výpočtem, kdy 1125 řádků trvá 16,66 ms, pak 45 řádků trvá nějakých 0,66 ms.

V každém případě, jistě vás asi napadla otázka, jak je možné v počítačových hrách dosahovat snímkové frekvence třeba 120 FPS, když monitor s obnovovací frekvencí 60 Hz může zobrazit pouze 60 snímků za sekundu? Odpovědí je Screen Tearing.

         
Předchozí kapitola   Další kapitola
         

SPONSORS & PARTNERS

Asus  Alza  MSI  Gigabyte
AMD  Sapphire  Gainward  Nvidia

Copyright (c) 2024 InfoTrade Powered by ASP.NET & MS SQL Server