Idézet: JonesC - Dátum: 2006. jún. 30., péntek - 8:45
Egyértelmű, részben ezért is vettem tft-t. De a tearing szempontjából ugyanaz van mint a crt-n.
Olvasgattam itt a vsync-el / tearinggel kapcsolatban amit irtatok. A hagyomanyos CRT eseten tudjuk mi tortenik, de az az erdekes miert latszodik a tearing az LCD-n.
A DVI / VGA szabvany miatt az LCD, akarcsak a CRT a kepfrissites utemeben lekerdezi a grafikus kartya frame bufferjet. Tehat hiaba nem kell az LCD-nek frissitenie rendszeresen a kepet (hiszen csak akkor kell frissitenie ha valtozott valami a kepen), az elavult szabvanyok miatt a framebuffert megis a kepfrissites utemeben kerdezgeti le.
Amikor a Vsync ki van kapcsolva, akkor a grafikus kartya rogton a framebufferbe irja az elkeszult kepet a back bufferbol es ha pont akkor kerdezi le az LCD kijelzo a framebuffert amikor ez a masolas zajlik, akkor a framebufferben egyszerre ket kepnek a reszei vannak es ezert van tearing. (kep felso resze pl. az uj kep, de az alja meg a regi)
Ha a Vsync be van kapcsolva, akkor a grafikus kartya csak akkor kezdi a backbufferben levo elkeszult kep masolasat a framebufferbe ha a kijelzo eppen vegzett a lekerdezessel, tehat nincs tearing, viszont csak annyi kepet lathatunk amennyit a kepfrissitesi freki enged. (pl. 60Hz -> 60FPS)
A bekapcsolt Vsync-nek van meg egy nagy hatranya, ha a grafikus kartya nem tud annyi kepet kiszamolni, mint amennyi a kepfrissitesi frekvencia, akkor a kijelzore kuldott kepek szama felezodni / harmadolodni /stb. fog. Ilyenkor az elso es masodik (stb.) lekerdezesnel mindig ugyanazt a kepet lehet latni, egeszen addig amig a backbufferben el nem keszul az uj kep.
Pl. kepfrissites 60Hz, Vsync be, akkor a megjelenitett FPS: 60, 30, 20, 15, 12, 10, stb. Ha a grafikus kartya nem tud 60FPS-t, akkor 30-kepre valt, ha nem tud 30-at, akkor 20-ra, stb.
Irtatok azt is, hogy jobb ha limitaljatok a jatekban az FPS-t. Igazabol nem segit, csak mivel a keprissites es a kiszamolt kepek aranya allando (kiveve amikor nem birja a grafikus kartya), ezert a tearing nem vandorol annyira veletlenszeruen a kepernyon es ez kevesbe feltuno.
Tearing szempontjabol egy jobb megoldas a tripple buffering, amikor van a frame buffer, es meg ket back buffer, igy mindig van legalabb ket frame ami teljesen keszen van. Ehhez viszont a driverben be kell kapcsolni a tripple bufferinget es a vsync-et is! Mivel harom buffer van, ha az elobbi peldaban a kartya nem tud 60 kepet kiszamolni, de a frissites 60Hz-en van, akkor nem 30FPS-re fog visszaesni a megjelenitett kepek szama, hanem 40-re. 75Hz-nel nem 37.5-re, hanem 50-re, stb.
En ugy lattam tripple buffering + vsync segit valamennyit a dolgon CS:S-ben 7800GT-vel, nem akarjatok kiprobalni?