www.svethardware.cz
>
>

Double buffering

, , zpráva
Další způsob používaný v 3D grafice k vykreslování snímků.
reklama
V minulé části jsme si vysvětlili, jak pracuje Single buffering a jaké jsou jeho výhody a nevýhody. Problém s roztržením obrazu u Single bufferingu řeší právě Double buffering.

Jak už název napovídá, ve frame bufferu jsou ukládány snímky dva - jeden z nich je vykreslován grafickým procesorem, zatímco druhý je překreslován DAC převodníkem na obrazovku. Poté, co procesor dokončí vykreslování snímku, čeká, až DAC dokončí zobrazení druhého snímku na obrazovce. DAC převodník pak začne zobrazovat nový snímek a procesor může začít vykreslovat další snímek do uvolněného bufferu. V tomto případě pracují procesor i DAC převodník sychronně, proto se také používá termín "Vsync on". Buffer, který je právě zobrazován na monitoru se označuje jako front buffer, zatímco jako back buffer se označuje buffer, do kterého grafický procesor vykresluje snímek. Schematicky je celý postup znázorněn na obrázcích.



Výhodou Double bufferingu je, že eliminuje roztržení obrazu, protože DAC převodník vždy zobrazí na monitoru celý snímek. Double buffering vyžaduje sice dvakrát více paměti než Single buffering, ale pořád ještě o třetinu méně než Triple buffering, který si vysvětlíme později.

Double buffering má ovšem i své nevýhody. Grafický procesor totiž musí čekat, až DAC zobrazí celý snímek na monitoru - dochází tím ke snížení výkonu. Další nevýhodou je už zmiňovaná potřeba dvojnásobné velikosti paměti ve srovnání se Single bufferingem.

Větší problém při Double bufferingu však může způsobit, pokud je grafický procesor vykreslující snímky do bufferu pomalejší než DAC převodník, který snímky zobrazuje na monitoru. Jestliže v okamžiku, kdy DAC dokončí zobrazování snímku na monitoru, není v back bufferu vykreslen další snímek, DAC převodník začne znovu zobrazovat již zobrazený snímek (DAC totiž musí dodržet obnovovací frekvenci a nemůže čekat, až bude snímek procesorem vykreslen). Jakmile DAC znovu dokončí zobrazování (stejného jako předtím) snímku, může začít zobrazovat další, který mezitím procesor dokreslil v back bufferu (pokud by byl grafický procesor výrazně pomalejší, zobrazoval by DAC stále dokola tentýž snímek i několikrát, dokud by nebyl vykreslen snímek nový). Zkusíme si problém vysvětlit na příkladu. Předpokládejme, že DAC pracuje na frekvenci 60Hz, tedy zobrazí na monitoru jeden snímek za 16,7 ms (milisekund) (což znamená, že rychlost zobrazování je omezena 60 fps - snímky za sekundu). Předpokládejme dále, že procesoru trvá vykreslení snímku v bufferu 20 ms, tedy o něco déle než trvá zobrazení snímku na monitoru (v tomto případě by byla zobrazovací rychlost 50 fps, ale ... v případě Single nebo Triple bufferingu). Podívejme se teď krok po kroku, jak takové zobrazování snímků pomocí Double bufferingu vypadá:

0 ms - grafický procesor začíná vykreslovat příští snímek do back bufferu a DAC začíná zobrazovat snímek z front bufferu na monitoru

16,7 ms - DAC dokončil zobrazení snímku, a protože procesor ještě nevykreslil další, začíná DAC zobrazovat stejný snímek znovu

20 ms - procesor dokončil vykreslování nového snímku a musí čekat, až DAC znovu zobrazí předchozí snímek

33,3 ms - DAC dokončil druhé zobrazení původního snímku, dojde k prohození bufferů (front se změní na back a naopak) a DAC může vykreslovat nový snímek

Zobrazení jednoho snímku tak trvá 33,3 ms místo 20 ms a rychlost zobrazování snímků klesne na 30 fps, což je docela velký propad ve výkonu. To nastává samozřejmě jen v případě, že grafický procesor je pomalejší než DAC. V praxi se také většinou rychlost vykreslování procesorem mírně mění, takže i skutečná rychlost zobrazování poněkud kolísá.

Obnovovací frekvence monitoru (která je daná DAC převodníkem) tedy výrazným způsobem ovlivňuje výkon grafické karty, obecně platí, že čím větší obnovovací frekvence, tím vyšší výkon (snímek je vykreslen rychleji a procesor čeká na opětovné zobrazení snímku kratší dobu). Pokud chcete používat Double buffering, vyplatí se pohrát si s obnovovací frekvencí pro dosažení co nejvyššího výkonu. Tento nedostatek Double bufferingu řeší Triple buffering, o kterém si řekneme příště.

Single buffering
Triple buffering


Podle PVR Gen
reklama
Nejnovější články
Consumer Reports už nedoporučuje Teslu Model 3, je nespolehlivá Consumer Reports už nedoporučuje Teslu Model 3, je nespolehlivá
Consumer Reports opět mění status doporučení elektromobilu Tesla Model 3. Ten už jednou toto doporučení ztratil, aby ho po opravě získal zpět. Vypadá to však, že spolehlivost a kvalita Modelu 3 nejsou úplně OK, a tak doporučení opět ztrácí.
Dnes, aktualita, Milan Šurkala
Intel zve lidi, aby se v rámci "Odysey" zúčastnili vývoje jeho GPU Intel zve lidi, aby se v rámci "Odysey" zúčastnili vývoje jeho GPU
Raja Koduri nedávno zval šikovné vývojáře do svého týmu a sliboval jim, že nebudou prostě jen pracovat, ale stanou se součástí hnutí. Nyní něčím podobným Intel láká i širokou veřejnost, a to na "The Odyssey". 
Dnes, aktualita, Jan Vítek
InSight už zasílá pravidelné zprávy o počasí na Marsu InSight už zasílá pravidelné zprávy o počasí na Marsu
Přistávací modul InSight, který se vydal prozkoumat ze své stacionární pozice Mars, už poskytuje denní přehledy o počasí, a to pochopitelně týkající se Elysium Planitia, kde se nachází. Naposledy se teploty vyšplhaly na ještě snesitelných -13 °C.
Dnes, aktualita, Jan Vítek
Objevují se GeForce GTX 1660 Ti, první má Gainward Objevují se GeForce GTX 1660 Ti, první má Gainward
Tisková zpráva od firmy NVIDIA se v době psaní těchto řádků ještě neobjevila, ale to se jistě velice brzy změní, takže můžeme říci, že dnes na trh přichází karty GeForce GTX 1660 Ti a nejvíce si pospíšil Gainward. 
Dnes, aktualita, Jan Vítek
Radeon RX Vega 56 v zahraničí zlevňují, prý v očekávání GTX 1660 Ti Radeon RX Vega 56 v zahraničí zlevňují, prý v očekávání GTX 1660 Ti
Ceny grafických karet Radeon RX Vega 56 začaly v evropských obchodech klesat, za čímž mají stát AIB partneři firmy AMD a očekávaný nástup grafické karty NVIDIA GeForce GTX 1660 Ti. Tu očekáváme už dnes.
Dnes, aktualita, Jan Vítek2 komentáře