Ping, Tik Oranı ve Netcode: Sunucuyla Aranızdaki Üç Kavram
7 dakikalık okuma Ağ
Çok oyunculu bir modda en sinir bozucu an, ekranınızda isabet etmiş gibi görünen bir hamlenin sayılmamasıdır. Bu durumu açıklamak için üç kavramı tanımak gerekir. Üçü sık sık birbirine karıştırılır, oysa farklı şeyleri ölçerler ve farklı yerlerde devreye girerler. Bu yazıda üçünü ayrı ayrı ele alıp sonra birleştireceğiz.
Ping: gidiş dönüş süresi
Ping, cihazınızdan sunucuya gidip dönen bir paketin süresidir. Milisaniyeyle ölçülür ve düşük olması iyidir. Menülerde gördüğünüz sayı, bu gidiş dönüş süresinin son birkaç saniyedeki ortalamasıdır.
Ping'i belirleyen en büyük etken mesafedir. Sunucu ne kadar uzaktaysa paket o kadar çok ara noktadan geçer. Bunun yanında bağlantı türü de etkilidir: kablosuz ağ, kablolu bağlantıya göre birkaç milisaniye ekler ve sinyal zayıfladıkça bu fark büyür.
Ortalama kadar önemli olan bir başka değer daha var: dalgalanma. Ping'in kırk milisaniyede sabit durması, otuz ile doksan arasında gidip gelmesinden çok daha iyidir. Sabit bir gecikmeye alışabilirsiniz; dalgalanan bir gecikmeye alışamazsınız, çünkü her hamlede farklı bir zamanlama gerekir.
Tik oranı: sunucunun hesaplama sıklığı
Tik oranı, sunucunun saniyede kaç kez oyun durumunu hesapladığını gösterir. Sunucu her tikte tüm oyuncuların konumunu, hızını ve eylemlerini yeniden değerlendirir, sonucu herkese bildirir.
Yüksek tik oranı daha ince zamanlama farklarını yakalar. Saniyede yirmi kez hesaplayan bir sunucuda iki tik arasında elli milisaniye vardır; bu aralıkta yaşanan çok kısa süreli bir çakışma tam olarak yakalanamayabilir. Saniyede altmış kez hesaplayan bir sunucuda aynı aralık on altı milisaniyeye iner ve çözünürlük belirgin biçimde artar.
Tik oranı sunucu tarafında belirlenir; oyuncunun üzerinde doğrudan bir denetimi yoktur. Ancak modun karakterini anlamak için işe yarar: refleks belirleyici olan modlarda yüksek tik oranı önemlidir, karar süresi uzayan modlarda ise fark hızla erir.
Netcode: iki değeri uzlaştıran mantık
Netcode, ping ile tik oranı arasındaki boşluğu doldurmak için yazılan mantıktır. Sizin ekranınızda gördüğünüzle sunucunun bildiği gerçeği uzlaştırır.
Sorun şudur: siz hamleyi yaptığınız anda sunucu henüz bunu bilmez, çünkü paketin ulaşması zaman alır. Sunucuya ulaştığında ise dünya biraz ilerlemiştir. Netcode bu farkı kapatmak için iki temel teknik kullanır.
- İstemci tarafı tahmin: Sizin cihazınız, sunucudan onay beklemeden hareketi hemen gösterir. Böylece kontroller anında tepki veriyormuş gibi hissedilir. Sunucu farklı bir sonuç bildirirse görüntü sessizce düzeltilir.
- Gecikme telafisi: Sunucu, hamlenizi değerlendirirken sizin ekranınızda o an ne göründüğünü geriye dönük olarak hesaba katar. Böylece yüksek ping'li oyuncu tamamen dezavantajlı kalmaz.
Bir atışın isabet etmiş gibi görünüp sayılmaması genellikle bu uzlaşma anında olur. Sizin ekranınızdaki görüntü tahmine dayalıdır; sunucunun kararı ise doğrulanmış duruma dayanır. İkisi çelişirse sunucunun kararı geçerli olur.
Üç değer bir arada
Aşağıdaki tablo, üç kavramı yan yana koyuyor.
| Kavram | Neyi ölçer | Nerede belirlenir | Sizin denetiminiz | İyi olan |
|---|---|---|---|---|
| Ping | Paketin gidiş dönüş süresi | Bağlantınız ve mesafe | Orta | Düşük ve sabit |
| Tik oranı | Sunucunun saniyedeki hesap sayısı | Sunucu tarafı | Yok | Yüksek |
| Netcode | İki değeri uzlaştıran mantık | Oyunun yazılımı | Yok | Tutarlı davranan |
Tabloyu yana kaydırabilirsiniz.
Ping her şey değildir
Düşük ping'e sahip olmak tek başına akıcı bir deneyim vermez. Cihazınızın kare üretimi yavaşsa ya da ekranınızın işleme yığını ağırsa, sunucuyla aranız iyi olsa bile gecikme hissedersiniz. Ağ dışındaki halkaları girdi gecikmesi zinciri yazımızda ele aldık.
Pratikte ne yapabilirsiniz?
Üç kavramdan yalnızca ping üzerinde anlamlı bir müdahale alanınız var. Aşağıdaki adımlar, bağlantı tarafında yapılabilecek en pratik iyileştirmeleri sıralıyor.
- Mümkünse kablolu bağlantıya geçin. Kablosuz ağ, özellikle kalabalık saatlerde dalgalanmayı artırır.
- Kablosuz kullanmak zorundaysanız yönlendiriciye yakın oturun ve arada duvar bırakmamaya çalışın.
- Aynı ağda büyük bir dosya indirmesi çalışıyorsa oturum boyunca duraklatın.
- Sunucu bölgesi seçme imkânınız varsa size en yakın bölgeyi seçin.
- Ping değerinden çok dalgalanmaya bakın; sabit yetmiş, dalgalı kırktan iyidir.
Adil rekabet tarafında bir not daha: sunucu doğrulaması istemci tarafındaki verilere körü körüne güvenmez. İmkânsız hareket örüntüleri ve tutarsız girdi zamanlamaları otomatik incelemeye alınır. Bu, netcode'un yalnızca akıcılık için değil, oyunun bütünlüğü için de çalıştığı anlamına gelir.
Yazan
Bengi Toraman
Ekran Tayfı teknik editörü. Ağ ve performans başlıklarını yürütüyor. Terimleri tanımlamadan kullanmamayı, tanımladıktan sonra da terimceye eklemeyi alışkanlık hâline getirdi.