Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Vlákno názorů k článku
Grafické algoritmy implementované v 3D akcelerátoru Voodoo 1

ondra.novacisko.cz aura:39
7. 1. 2010 12:35

Double vs triple

Double buffering: Kdo to neviděl na vlastni oči, ten si to asi nedokáže představit. Problém není v tom onom „lomu“ v půlce obrazovky. Double-buffering obvykle stačí v případě, že data do front-bufferu kopírujeme, tedy nepřepínáme. Kopírovat je nutné, pokud Vaše 3D aplikace běží v okně, nebo je spíš statická, kde překreslení celé obrazovky v backbufferu při přepnutí zabere víc času, než kopírování změn.

Při kopírování bez čekání na V-Retrace dochází k viditelného lomu. Ne však při přepnutí. Přepnutí totiž může dojít až při návratu paprsku, čili nikoliv v okamžik vyslání příkazu. Týká se to tedy všech VGA karet, ale také Voodoček. Pokud vím, novější karty to umí kdykoliv, proto se čekání na návrat většinou potlačuje.

Pokud karta neumí přepnout okamžitě, ale příkaz provede až při návratu paprsku, pak od přenutí do konce běhu uživatel stále vidí front-buffer, ale aplikace si myslí, že už je to back-buffer. Následující příkaz, kterým většinou je smazání bufferu pozadím tedy způsobí dost znatelné bliknutí spodku obrazovky začínající na místě, kde stál paprsek v době vyslání příkazu přepnutí. Pokud navíc stihne aplikace generovat obraz rychlostí rovnou obnovovací frekvenci monitoru, pak uživatel trvale vidí jen horní půlku obrazovky, v dolní půlce má trvale barvu pozadí. Pokud je aplikace pomalejší, tak horní (zhruba) půlka je plynulá, dolní půlka poblikává.

Triple-buffering tenhle problém potlačuje. Nevýhodou triple bufferingu je zpoždění. Zatímco u double bufferingu uživatel vidí scénu jeden snímek pozadu, u triple-bufferingu jsou to snímky dva. Pokud aplikace generuje obraz s nižší obnovovací frekvencí, může to uživatel pocítit, například na reakci myši, kdy myš po obrazovce „plave“.

U nových grafických karet už výběr double-triple není až tak zásadní. U akčních scén pomůže triple buffering redukci lomů (ze kterých může bolet hlava – zapojení motion bluru je efektivně redukuje také), ale jinak stačí double buffering a zbývající paměť využít pro textury.

Zasílat nově přidané příspěvky e-mailem