A Vsync, vagyis a Vertical Synchronization egy régóta velünk élő technológia, melynek célja, hogy megszüntesse a képernyőn megjelenő csúnya vízszintes csíkokat, az úgynevezett tearinget. Elméletben ez remekül hangzik, a gyakorlatban azonban gyakran találkozunk problémákkal, például azzal, hogy a várt 60 FPS helyett csak 30-at kapunk. Ebben a cikkben feltárjuk, hogy miért fordulhat elő ez a bosszantó jelenség, és hogyan orvosolhatjuk.
Mi is az a Vsync és hogyan működik?
A Vsync lényege, hogy szinkronizálja a videokártya által renderelt képkockák sebességét a monitor frissítési frekvenciájával. A monitorok jellemzően 60 Hz-en működnek, ami azt jelenti, hogy másodpercenként 60-szor rajzolják újra a képet. Ha a videokártya gyorsabban renderel, mint a monitor frissítési sebessége, akkor a monitor egyidejűleg két különböző képkocka részeit jelenítheti meg, ami tearinghez vezet. A Vsync ezt úgy akadályozza meg, hogy megvárja, amíg a monitor befejezi a kép rajzolását, mielőtt a videokártya elküldené a következőt.
A 30 FPS-re esés okai
Na de miért esik az FPS 30-ra a várt 60 helyett? A leggyakoribb ok a teljesítményhiány. Ha a videokártyád nem képes stabilan 60 FPS-sel renderelni a játékot, a Vsync egy érdekes "büntetést" alkalmaz.
Dupla és Háromszoros Bufferelés
A Vsync legtöbb implementációja dupla vagy háromszoros bufferelést használ. Dupla bufferelés esetén a videokártya egy "háttérbufferbe" rendereli a képet, majd a monitor frissítési ciklusának végén felcseréli a háttérbuffert az előtérbufferrel (amit a monitor éppen megjelenít). Ha a videokártya nem képes időben befejezni a renderelést a következő frissítési ciklus kezdetéig, akkor a Vsync megvárja a következő ciklust. Ez azt jelenti, hogy az FPS feleződik, tehát 60 FPS helyett 30-at kapunk. Háromszoros bufferelés esetén a helyzet kissé javul, mert van egy plusz buffer, de ha a videokártya így sem elég gyors, a probléma továbbra is fennállhat.
Miért nem egyszerűen tearing-et kapunk?
Jogos a kérdés. A Vsync célja éppen az, hogy elkerüljük a tearing-et. Amikor az FPS a monitor frissítési frekvenciája alá esik, a Vsync megakadályozza a részleges képkockák megjelenítését, ezzel a tearing-et. Ehelyett, ha a videokártya nem képes 60 FPS-sel dolgozni, a Vsync lezárja az FPS-t a frissítési frekvencia felére (30 FPS), vagy akár harmadára (20 FPS), attól függően, hogy mennyire alacsony az FPS.
Megoldások és javítások
Szerencsére van néhány módszer, amivel orvosolhatjuk ezt a problémát:
- Grafikai beállítások csökkentése: Ez a legkézenfekvőbb megoldás. Ha a játék grafikai beállításai túl magasak a videokártyádhoz, csökkentsd a felbontást, a textúrák minőségét, az árnyékokat és más vizuális effekteket.
- Illesztőprogramok frissítése: Győződj meg róla, hogy a videokártyád illesztőprogramjai a legfrissebbek. Az új illesztőprogramok gyakran tartalmaznak teljesítményjavításokat és hibajavításokat.
- Vsync kikapcsolása: Ha a 30 FPS-es korlátozás zavaróbb, mint a tearing, akkor kapcsold ki a Vsync-et. Ezzel lehetővé teszed, hogy a videokártya a lehető leggyorsabban renderelje a képkockákat, függetlenül a monitor frissítési frekvenciájától. Persze tearing-re kell számítanod.
- Adaptive Vsync használata: Az NVIDIA videokártyákhoz elérhető Adaptive Vsync egy okosabb megoldás. Ez a technológia automatikusan bekapcsolja a Vsync-et, amikor az FPS a monitor frissítési frekvenciája felett van, és kikapcsolja, amikor az alá esik. Ezzel elkerülheted a tearing-et, miközben nem büntet a 30 FPS-es korlátozással, amikor a teljesítmény hiányzik.
- FreeSync vagy G-Sync használata: Ezek a technológiák dinamikusan szinkronizálják a monitor frissítési frekvenciáját a videokártya által renderelt képkockák sebességével. Ez a legideálisabb megoldás, mivel elkerüli a tearing-et és a 30 FPS-es korlátozást is, de ehhez kompatibilis monitorra és videokártyára van szükség.
- FPS limit beállítása: Néha segíthet, ha az FPS-t kézzel korlátozod, mondjuk 58 vagy 59 FPS-re, ha a monitorod 60Hz-es. Ezzel megelőzheted a hirtelen FPS eséseket, és a Vsync nem fog beavatkozni ilyen drasztikusan. Ezt a játék beállításain belül, vagy külső programokkal (pl. RivaTuner Statistics Server) teheted meg.
Végső gondolatok
A Vsync egy hasznos technológia, de fontos megérteni a működését és a lehetséges problémákat. A 30 FPS-es korlátozás a teljesítményhiány következménye, és szerencsére van néhány módszer, amivel orvosolhatjuk. Kísérletezz a különböző beállításokkal, és találd meg a számodra legideálisabb kompromisszumot a grafikai minőség és a sima játékmenet között.