Günümüz oyunları, üstün teknolojilerin kullanılması ile birlikte çok rahat bir şekilde fazla sayıda kareyi (fps) bir saniye içinde oynatma yetisine sahip oldular. Her ne kadar bazı oyunlar, 60 fps'ye
Oyun oynarken, zaman zaman ekranın dalgalandığını yahut orta yerinden yırtılmış gibi durduğunu fark ettiyseniz muhtemelen siz de bu "yüksek fps"nin getirdiklerinden muzdaripsiniz demektir.
ve diğer bir tane (daha belirgin)
İşte bu yırtılma yada dalgalanmalara ekran yırtılması (screen tearing) adı verilir.
Ekran yırtılması ne demektir? Ve nasıl oluşur?
Yazının girişinde oyunların yüksek sayıda FPS'yi işleyebildiklerinden bahsetmiştik. Eğer bir oyun içinde aldığınız FPS değeri, kullandığınız monitörün yenileme hızından (hz cinsinden ölçülen değer) yüksek ise bu yırtılmaları yaşarsınız. Oyundan 100 fps aldığınızı varsayalım ve standart bir LCD/LED monitör (60 Hz) üstünde oynadığınızı varsayalım. Monitörün sunduğu 60 kare/saniyelik değer, oyun içindeki 100 kare/sn'lik değerin tamamını yansıtamayacağı eş zamanlı olarak yansıtamayacağı için, monitör bazı kareleri atlayarak ekrana yansıtacaktır. Görüntü de, alakasız yerlerden yırtılmış şekilde görünecektir.
Anlaşılacağı üzere bu sorun ekran kartı, işlemci, vs değil; tamamen monitör kaynaklıdır. Peki bunu önlemek mümkün mü? Dikey senkronizasyon işte tam da burada devreye giriyor.
VSync (Dikey Senkronizasyon) nasıl kullanılmalı?
Temel olarak yapmanız gereken tek şey, oyunun grafik ayarları menüsüne girip Vertical Sync (VSync / Wait for Vertical Sync) işlevini aktive etmek. Bu şekilde, ekran yırtılmalarının önüne geçersiniz; ancak ufak bir sorunu ortaya çıkarırsınız. O da "input lag" adı verilen, mouse hareketlerindeki gecikmedir. Bu gecikme, mouse'unuzun frekansına göre 1ms-5ms arasında değişir. Elbetteki bu şekilde de oyun oynanmaz.
Dikey senkron'u, sağlıklı ve sorunsuz bir şekilde kullanmak için;
İlk önce oyunun fps'si, monitörün Hz değerinden 1 eksik değere sabitlenmeli. Sözgelimi 60 Hz bir monitör için, oyunu 60 yerine 59 fps değerine sabitlemeniz gerekiyor. Bu değer 59 da olabileceği gibi, 59.99, 59.95 yada 59.9 gibi değerler de olabilir. Ayarlama işlemi de 2 türlü yapılabilir:
- Ya oyunun grafik ayarları menüsünden (Vsync'i aktive ettiğiniz kısımdan). Oyun bu kolaylığı sunuyorsa, şanslısınız, zahmetsizce ayar yapabilirsiniz.
- Ya da oyunun sunduğu, daha gelişmiş seçenekler sunan ufak komutlar/kodlar aracılığı ile. Bu komut/kodlar, oyun içinden açılan bir komut satırına (konsol) yazılabileceği gibi, oyunun otomatik olarak başlatacağı konfigürasyon dosyası (.cfg) içine de yazılabilir. Bu komutlar, çoğu oyun için internette bulunabiliyor. Komut desteği kapalı oyun sayıca çok az.
Yukarıda bahsettiğim, sabitlemeniz gereken fps değerlerinden hangisinin daha iyi sonuç verdiğini deneyerek bulabilirsiniz. Farklı oyunlar, farklı fps değerlerinde daha iyi sonuç verirler. Doğru değeri bulduğunuz zaman, hiçbir şekilde sıkıntı yaşamadan, rahat ve pürüzsüz bir şekilde oyunuzu oynayabilirsiniz.
Notlar:
1) Yüksek fps ile oynamak varken, monitörün fps'sine eşitleyerek oynamak oynanışa yada görüntüye zarar vermez. Tam tersi, burada görüntüyü daha da pürüzsüzleştirmenin yollarını anlattım.
2) Bir oyundan 500 FPS değeri dahi alsanız, 60 Hz monitör üzerinde 60 FPS'den fazlasını alamazsınız. Tüm yazının temel çıkış noktası budur.
3) Özellikle günümüzdeki oyunlar, daha çok oyun konsollarına (Playstation, Xbox, vs) öncelikli olarak geliştirildiği, sonradan PC'ye port'landığı için çoğu oyunda 60 fps'den yukarısını göremezsiniz. Hatta bu konsollara özel çıkan bazı oyunların 25, 30 fps gibi komik rakamlarla bile çalıştığına şahit olabilirsiniz. İşin özü, 60 fps günümüz oyunlarında standart sayılan ve yakalanmaya çalışılan bir değerdir.
4) Özellikle multiplayer temelli; fakat üzerinde sınırlama yapılmamış oyunlar (örneğin Counter-Strike) yüksek FPS değerlerinde daha iyi çalışır. Tabi bu iyi çalışması için gerekli faktörlerden sadece birisidir. İyi bir internet bağlantısı (düşük lag), sunucuya yakınlık (düşük ping değeri) ve kaliteli bir sunucu (yüksek tickrate) ile birlikte oyun kusursuz bir şekilde oynanır. Ancak 60 Hz bir monitör üstünde, FPS değeriniz kaç olursa olsun oyundan hiçbir zaman istenen verimi elde edemezsiniz. Sebebi 2. maddede.
Bu yönden verim almanın en iyi yolu 100 yada 120 Hz'lik gaming monitör kullanmaktır. Bu monitörler, özellikle multiplayer oyunlar konusunda optimum performans sağlar.
5) Günümüzde de yaygınlaşmakta olan 3D görüntü desteği sağlayan monitör çoğunlukla 120 Hz'dir. Bunun sebebi 60 FPS bir göze, 60 FPS diğer göze görüntü vermeleridir.
Yazıyı hazırlayan: Aykut
Cidden çıldıracaktım bu sorun yüzünden. Bulacağımı da hiç sanmıyordum çünkü bizim insanımız genelde oyunu oynar hata olduğu zaman yapabildikçe kendi düzeltir, yabancı forumlara bakar ve yoluna devam eder. Böyle güzel bir bilgiyi bizimle paylaşmanız adına çok mutlu oldum. Tekrardan teşekkür ederim.
işine yaramış olmasına memnun olduk Barış
Adamın dibisin Abi sorun çözüldü
Teşekürler - Konuyu hazırlayan Aykut arkadaşımız bu konuda oldukça bilgili biridir , sağolsun , nvdianın gsync uyumlu monitörlerinde bu mouse gecikmesi yaşanıyormu sorunuza kullanan arkadaşlardan cevap gelirse hep birlikte öğrenmiş olacağız çünkü yazılan çizilenle pratik bazen farklı olabiliyor
müthiş açıklamalar, bende counterda vsync açınca aim bile alamıyordum sebebi demekki vsync in olumsuz getirisiymiş ! ven sade haliyle bu kadar güzel anlatılır. elinize sağlık. şimdi merak ettiğim şey ise nvdianın gsync uyumlu monitörlerinde bu mouse gecikmesi yaşanıyormu ?
Türkçe böyle yazılar bulmak gerçekten çok güç, elinize yüreğinize sağlık
Açıkçası bu kadar iyi, detaylı ve aynı zamanda sade bir anlatım beklemiyordum. FPS olayı ile ilgili merak ettiğim tüm konuları açıkladı makaleniz. Böyle bir kaynak bulduğum zaman açıkçası teşekkür etmekten fazlasını yapmak istiyorum...
makale ilgisini çekenler şu videoya bakmalarınıda tavsiye ederim
http://www.youtube.com/watch?v=Gw0igMhqKnU
makale için sağolun