reklama
Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

Triple buffering

14.3.1999, Vít Zatloukal, zpráva
Triple buffering
Poslední ze způsobů používaných v 3D grafice k vykreslování snímků.
Minule popsaný Double buffering sice odstranil problém s trháním obrazu objevující se při Single bufferingu, avšak za cenu snížení výkonu. Tuto nevýhodu Double bufferingu odstraňuje Triple buffering. Opět se dá už z názvu odvodit, že pro uložení vykreslených snímků před jejich zobrazením na monitoru jsou použity frame buffery tři. Jak tedy Triple buffering funguje ?

Snímek z prvního frame bufferu je DAC převodníkem zobrazován na monitoru, zatímco do druhého je další snímek vykreslován grafickým procesorem, který po jeho vykreslení nemusí čekat na DAC, ale může začít vykreslovat další (v pořadí třetí) snímek do třetího frame bufferu. DAC převodník pak pokračuje vykreslováním nejnovějšího snímku ze druhého bufferu. Procesor pak přejde zpět k prvnímu bufferu, DAC ke třetímu atd. Z technického hlediska je možné považovat Triple buffering za Vsync on, avšak tento termín se používá pouze pro označení Double bufferingu. Schematické znázornění tohoto postupu je opět na obrázcích.



Výhodou Triple bufferingu je, podobně jako u Double bufferingu, odstranění roztržení obrazu a navíc, protože procesor nemusí čekat na DAC převodník, je dosaženo nejvyššího možného výkonu (stejného jako v případě single bufferingu).

Protože většina výhod bývá nějak kompenzována, má i Triple buffering jednu nevýhodu a tou je potřeba trojnásobného množství paměti ve srovnání se Single bufferingem (resp. o polovinu větší než u Double bufferingu).

Pokud je grafický procesor rychlejší než DAC převodník, dojde po určité době k následující situaci. Grafický procesor dokončil vykreslování dvou následujících snímků do dvou volných frame bufferů, zatímco DAC ještě stále zobrazuje snímek ze třetího bufferu. Grafický čip v takovém případě začne vykreslovat další snímek do prvního bufferu, aniž by byl tento původní snímek zobrazen (DAC pak jako další zobrazí snímek ze druhého bufferu - jeden snímek je tedy vynechán). To znamená, že počet skutečně zobrazených snímků je vždy menší než počet vykreslených. Protože benchmarkové testy měří počet snímků vykreslených grafických procesorem, a nikoliv zobrazených na monitoru, může dojít k situaci, kdy je naměřeno např. 80 fps při 60 MHz obnovovací frekvenci (umožňující zobrazit maximálně 60 fps) DAC převodníku.

Který ze způsobů bufferingu je tedy nejvýhodnější ? Máte-li dostatek grafické paměti pro požadované rozlišení, pak je to jednoznačně Triple buffering, který dává nejvyšší možný výkon, aniž by docházelo k trhání obrazu. Jedinou výjimkou je případ, kdy je grafický procesor schopen vždy vykreslit nový snímek dříve, než DAC dokončí zobrazování předchozího na monitoru - pak je možné použít Double buffering, který v tomto případě dosahuje stejného výkonu, přičemž potřebuje méně paměti.

Co říci závěrem ? Metodu bufferingu je třeba volit s rozmyslem a vyzkoušet několik nastavení. Ne vždy totiž přinese potlačení Vsync (Vsync off) skutečné zvýšení výkonu (i když se benchmarky zvýší) a také ne vždy znamená vyšší obnovovací frekvence monitoru vyšší výkon (ačkoliv ve většině případů tomu tak je).

Single buffering
Double buffering


Podle PVR Gen
reklama