GPU kontra LCD: co je V-Sync, Buffering a jak to nastavit? | Kapitola 5
Seznam kapitol
V-Sync, fps, obnovovací frekvence, triple buffering nebo i G-Sync a Lightboost – řada technologií, které jsou různě provázány. Každý se alespoň s některými setkal, víme však, jak fungují? Máte příležitost nahlédnout do problematiky hlouběji a třeba i zjistit, že můžete své PC nastavit lépe! Dnes se podíváme na ty základní, které umí každé PC.
Double buffering má svá omezení a ta se projevují především s aktivní vertikální synchronizací. Pokud dojde ke zpomalení renderování jednoho snímku pod úroveň obnovovací frekvence, dojde k poklesu na polovinu snímkové frekvence. Lze se tomu nějak vyvarovat?
Ano. Situace s poklesy renderovaných fps lze řešit pomocí tzv. triple bufferingu, což je zdokonalení double bufferingu. Zatímco předchozí a jednodušší varianta používala v jeden moment pouze jeden zápisový buffer, tak triple buffering používá zápisové buffery celkem dva (třetí buffer je určený pro vyčítání, opět jde použít technika page flipping pro odstranění nutnosti kopírování, akorát se přehazují celkem tři buffery).
Stejná situace, jaká nastala u double bufferingu se zpožděním jednoho renderovaného snímku, nyní nezpůsobí výpadek vykreslovaného snímku. Dvojitý zápisový buffer zajistí „dostatečnou zásobu“, grafika nemusí s renderingem čekat na další cyklus, ale může vykreslovat nenarušeně dál a snímek stihne ještě před dalším obnovením. Pokud by však fps renderování poklesly výrazněji, nebo na delší dobu, tak by nastal stejný problém u double bufferingu – výpadek snímku nebo i více snímků. Výhoda triple bufferingu je v tom, že snímková frekvence nespadne na polovinu obnovovací, ale na dvě třetiny, tzn. z 60 na 40.
Pozorný čtenář nyní určitě došel k závěru, že s rostoucím počtem bufferů roste i odolnost vůči fluktuaci rychlosti renderování, což je naprosto korektní postřeh. Nabízí se následující úvaha. Pokud tedy více bufferů zajistí větší odolnost proč nepoužít více bufferů? Můžeme se zamyslet nad extrémním případem – 3600 bufferů by dokázalo zajistit propady fps až po dobu jedné minuty. V-Sync by tehdy pracoval opravdu dobře. Jsou zde ale dva zásadní problémy. Jeden je přirozený – náročnost na paměť pro umístění bufferů. Velikost jednoho bufferu může být i v desítkách megabytů, tisíce by vyžadovaly i stovky gigabytů, což je nereálné i dnes, natož před mnoha lety, kdy se tyto technologie vyvíjely. Dalším problémem je zpoždění, ale o tom až v dalších kapitolách.