GPU kontra LCD: co je V-Sync, Buffering a jak to nastavit?
i Zdroj: PCTuning.cz
Hardware Článek GPU kontra LCD: co je V-Sync, Buffering a jak to nastavit?

GPU kontra LCD: co je V-Sync, Buffering a jak to nastavit? | Kapitola 6

Pavel Urbánek

Pavel Urbánek

15. 5. 2014 03:00 73

Seznam kapitol

1. Když se Hertze nepotkávají s fps 2. Obnovovací frekvence smrdí 3. Grafická karta a double buffering 4. Vertikální synchronizace 5. Triple buffering
6. Trojnásobný buffer podruhé a detailněji 7. Zpoždění a cukání 8. Shrnutí 9. Anketa/Test znalostí: Kolik fps dokáže zobrazit běžný monitor?

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.

Reklama

Triple buffering ale neznamená jen lepší kompenzaci propadů. Při správném využití (tzn. s aktivní vertikální synchronizací) může odstranit i problém roztrhání obrazu. To není ale poslední vychytávka, se kterou přichází. Ačkoli dochází k bufferování více snímků než u double bufferingu, při vysokých fps se triple buffering dokáže vyrovnat zpoždění, které má varianta pouze se dvěma buffery. Jak je to možné? Princip je jednoduchý: zatímco se ze čtecího bufferu vykresluje na monitor, tak do dvou zápisových se střídavě zapisuje. Při rychlém renderování (fps jsou vyšší než obnovovací frekvence) dojde k zaplnění obou bufferů a dalo by se předpokládat, že se renderování přeruší do doby, až dojde k přehození bufferů. To by samozřejmě vedlo k časové nekonzistenci a pocitu většího lagu.

Je to ale jinak – i když jsou už oba plné, střídavě se do nich renderuje dál. Přepisuje se vždy starší ze dvou snímků – díky tomu, že jsou buffery dva, je vždy alespoň v jednom je obraz celý a nepřerušený. Tím, že se za každou cenu nezobrazují ty staré (a již přepsané) snímky, ale zobrazí se nejnovější kompletně vykreslený snímek z právě nepřepisovaného bufferu, může systém poskytnout lepší odezvu a menší zpoždění.

[Triple buffering s V-Sync] GPU je rychlé, nicméně nezahálí a neustále generuje další snímky i za cenu jejich zahození.
i Zdroj: PCTuning.cz
[Triple buffering s V-Sync] GPU je rychlé, nicméně nezahálí a neustále generuje další snímky i za cenu jejich zahození.

K této technice renderování bohužel nepřistupují všichni vývojáři jednotně. Někteří ji nepodporují vůbec, jiní částečně, jiní ji implementují odlišně. Nejvýznamnější platforma – Microsoft DirectX – používá triple buffering v odlehčené formě. Jde o to, že se nezahazují žádné snímky, ale používá se více snímků (více bufferů), někdo ji označuje jako render ahead (nepřesně). Zde pozor, existuje další proměnná v renderovacím procesu, která nese toto označení - render ahead limit slouží k omezení počtu připravených snímků na CPU ještě před vstupem do renderovací fáze GPU, ale tím se dnes nezabýváme.

Praktické dopady triple bufferingu tedy záleží na jeho implementaci a nasazení. Pokud jej budeme používat bez V-Sync, tak se nepodaří odstranit ani roztrhání obrazu, ani získat neplynulost (diskutováno v další kapitole). Nedává tedy moc smysl jej tímto způsobem používat. Přesto na internetu koluje několik článků a diskuzí, které rozšiřují informace o tom, že triple buffering se jakýmsi magickým způsobem dokáže synchronizovat s obnovovací frekvencí. Od toho je však V-Sync. Pokud tedy použijeme variantu V-Sync a triple buffering, získáme vykreslování snímků, které může v některých situacích dokonce vykazovat i nižší input lag než varianta s double bufferingem. Konktrétně jde o fps okolo 40 až 60, kde dvojitý buffer klesne na nepříjemných 30 fps.

Předchozí
Další
Reklama
Reklama

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama