CS:GO'da interp ve interp ratio değerleri kaç olmalıdır?

Durum
Mesaj gönderimine kapalı.
FACEIT'e girerkende cl_uptadarate ve cmdrate 128 yapacağız o zaman değil mi?
128tick server olduğu için?

Aynen öyle. Sunucu otomatik atamazsa maça bağlanmadan konsola girmek yeterli olur. Net graph üzerinden kontrol edebilirsin de. :)
 
Son düzenleme:
Ben +cl_interp 0 değerini girdim ve 70 pingle girdiğim maçta direkt 0.0007821 gibisinden bir interp değeri attı bana.
60 pingte iken "0.015625" attı
Standart değerler veriyor işte. Anlatmaya çalıştığım da tam da bu. Konuda da belirtiliyor bu durum.

0-30 ms - CL_INTERP="0.007813"; CL_INTERP_RATIO "1"
30-59 ms - CL_INTERP="0.015625"; CL_INTERP_RATIO "1"
60-89 ms - CL_INTERP="0.015625"; CL_INTERP_RATIO "2"
90-109 ms - CL_INTERP="0.03125"; CL_INTERP_RATIO "2"
110+ MS - CL_INTERP="0.03125"; CL_INTERP_RATIO 2"
Evet. Çünkü test ettim. 0.0014322 değeri yaptım.
Fakat tekrar 0.0015'li interp değerini attı oyuna girince CS:GO.
Eki Görüntüle 1371956

Çünkü, (virgül) koymuşsun. (nokta) olması gerek.
Bana da bu ayarı verdi cl_interp 0.015625

Nokta koyarak deneyiniz. Virgül değil.
Yazmayayım yazmayayım diyordum da "gidin kendinize konu açın" diye berbat bir çıkıştan sonra yazayım dedim.

Sözde rehber zaten fiyasko, bir de üzerine böyle ahkam kesmek komik oluyor.

Şimdi sıfırdan başlayalım, bunu konu olarak da açarım oradan devam ederiz. Konu sahibi üzülüyor yoksa.

İşin teknik kısmına girmeden herkesin anlayacağı şekilde anlatacağım ki burada konuşulan şey nedir tam olarak anlayalım, ardından tek tek yanlışları gösterelim. Tavsiyelerimizi ve ayarlarımızı verdikten sonra da İstiklal Marşı ile kapanışı yaparız.

İnternetteki bazı Türkçe kaynaklarda belirtildiği gibi interp ayarı kimin daha önce ateş ettiğini belirlemez. Mermi gidiş süresini falan dengelemez. Bunlar tamamen SALLAMA şeyler. İnterpolasyon tamamen farklı bir olaydır.

Öncelikle, Tick nedir?

Tick sistemi online/offline fark etmeksizin her oyunda kullanılan bir sistemdir. Oyundan oyuna adı değişse de temel mantık olarak sistem aynıdır. Madem konu CSGO'dan ilerliyor, ben de onun üzerinden anlatacağım.

64 tick bir sunucu, o an oynanmakta olan oyunu saniyede 64 kere hesaplar demektir. Bir nevi monitörlerin Hz değeri gibi. Oyun, saniyede 64 kere yenileniyor. Hangi oyuncu ne yöne hareket etti, ne tarafa baktı, o yönde neler değişti, fırlatılan el bombası ne kadar yol kat etti vs vs hepsi saniyede 64 kere hesaplanarak ekrana yansıtılıyor.

Ancak oyunda saniyenin 64'te birinden daha kısa sürede gerçekleşen olaylar da oluyor. Üstelik saniyede 64 kere yenilenen bir oyun varken yüksek Hz değerine sahip monitörlerin de bir anlamı kalmıyor. Sonuçta FPS kaç olursa olsun oyun 64 kere yenileniyor. 500 FPS de olsa 1500 FPS de olsa sonuçta bu ekrana yansıyan FPS değeri, oyunun 64 farklı yenilenmiş versiyonundan görüntler içeriyor. Mantık olarak doğru ve işte zaten burada devreye interpolasyon giriyor.

Peki o zaman Interpolation (Interp) nedir?

CSGO'dan tutun binbir farklı online oyun interpolasyon kullanır. İnterpolasyon, her biri farklı bir "oyun bilgisi güncelleme" noktası olan tickler arasındaki geçişi kusursuz yapmaya yarıyor. Bir nevi tickler arasını doldurarak saniyede 64 kere yenilenen oyun bilgisini sanki anında yenileniyormuş gibi hissettiriyor. Bu yüzden kesik kesik 64 görüntü yerine ekranda direkt olarak "akıcı" bir görüntü görüyorsunuz. Çünkü iki tick arasında geçen zamanda olan hareketleri interpolasyon otomatik olarak dolduruyor.

Eki Görüntüle 1372274

Tick yüksek olursa interpolasyona duyulan ihtiyaç da daha az oluyor. Oyunun yenilenmesi interpolasyon gibi suni şeyler üzerinden değil direkt olarak sunucunun kendisinden gelen "durum bilgileriyle" yapıldığı için "mermiler 128'de daha iyi gidiyor" tarzı şeyler duyuyoruz.

64 Tick demek, oyun her 16 milisaniyede bir yenileniyor demek. Çünkü 1 saniye / 64 = 15.625.
Diyelim ki sizin 40 pinginiz var. Karşıdaki bir oyuncunun da 30 pingi olsun. Sizin ateş ettiğiniz bilgisinin sunucuya iletilmesi 20 ms sürecek. Sunucu bu bilgiyi işleyip karşıdaki oyuncuya gönderecek, bu bahsedilen olay da bir sonraki tick. Yani arada 16 ms daha geçti, etti mi 36 ms? Son bilgi oyuncuya gönderildi, onun da pingine 30 demiştik. Etti mi 51 ms? (Hesaplama tam olarak böyle değil ama işin tekniğiyle boğmak istemiyorum, temel mantığı anlamanız yeterli. Değerleri yarım almamızın sebebi ise ping değerinin sunucuya bir bilginin iletilimesi ve sunucunun karışılık olarak cevap göndermesi arasında geçen süreye verilen ad olmasından kaynaklı. Biz sunucuya bir bilgi iletiyorsak arada geçecen vakit pingimiz/2'dir.)

51 ms gibi bir sürede neler neler oluyor oyunda. İşte aradaki boşlukları dolduran kahramanımız = İnterpolasyon.

CS 1.6, 60 tick sunucular kullanıyordu. CS Source ise 66 tick. CSGO ilk zamanlarında 102 tick sunucular kullanıyordu. Sonradan 64 tick'e düşürüldü.

E madem yüksek tick yüksek akıcılık ve kesinlik demek, neden düşük tickli oyunlar oynuyoruz?

Çünkü bahsi geçen oyunları "internet üzerinden" oynuyoruz. Yukarıda da bahsettiğim gibi araya ping dediğimiz gecikmeler giriyor. Yüksek tick sunucu demek oyunun çok çok daha hızlı yenilenmesi demek. Bu da güçlü bir sunucu demek. Güçlü sunucu demek oyun yapımcısı için masraf demek. Ayrıca, bu güçlü sunucuya bağlanıp oyunu oynamak isteyen kişilerin de sağlam internet bağlantılarının olması demek. Çünkü önceden saniyede sunucudan alınan bilgi 64 adetken şimdi sallıyorum 128 oldu. Yani kullanılan ağ miktarı 2 katına çıktı. Yüksek bant genişliğine sahip bir internet bağlantısı olmadan isterseniz 4398912498712849 tick sunucularda oynayın, hiçbir faydasını görmezsiniz.

Onlarca kişinin izlediği CSGO turnuvaları LAN yani "Local Area Network" üzerinden yapılıyor. Eskinin internet kafelerinde Half-Life ya da CS 1.3/1.5/1.6 oynayanlar bilirler. İnternet bağlantısı olmadan aynı modeme bağlı makineler arasında oynadığımız oyunlardan bahsediyorum. İşte burada ister 128 ister 512 ister 4096 tick sunucularda oyun oynayabilirsiniz. Çünkü ping, yani gecikme neredeyse sıfır!

İnterpolasyonun ne olduğunu ve neden gerekli olduğunu anladıysak girizgah bitti demektir, şimdi asıl kısma geçelim.

Eki Görüntüle 1372295

Sunucunun bir oyuncuyu görme şekli böyledir. Arada boşluklar vardır. Yukarıda da anlattığım gibi bu aradaki boşlukları "interp" yani interpolasyon değerleri doldurur.

Eki Görüntüle 1372298

Kırmızı okla gösterdiklerim sunucunun verdiği bilgiler, yeşil ok ise "interpolasyonun" iki tick arasını doldurması olayı.

Şimdi bu interpolasyon değerini öyle bir ayarlamalıyız ki ne çok kısa sürmeli ne de çok uzun. Çünkü kısa sürerse oyuncu gerçekte düşündüğümüzden daha geride olur (sunucuya göre). Yok uzun olursa bu sefer gerçekte düşündüğümüzden daha ileride olur.

Bu ayarı kendi başınıza yapmanın hiçbir imkanı yok. Evet yok. Yani dağda taşta, internetin her tarafında "sözde doğru" olarak paylaşılan bu rehberimsi şeylerin hiçbiri gerçeği yansıtmıyor. Çünkü cl_interp CSGO'da çalışmayan bir komut. Oraya ne yazarsanız yazın oyuna yansımıyor. Oyun, sanki cl_interp değeri sıfırmış gibi kendisi otomatik değer giriyor. Bu otomatik değer de sunucuya girerken bağlandığınız "tick" ile bir önce tick arasında geçen süre ve sizin ping değerinize göre hesaplanıyor.

Yok arkadaş ben illa formülasyonunu bilmek istiyorum diyenler için :
cl_interp_ratio / cl_updaterate = interp

cl_updaterate ayarı, sunucudan saniyede kaç kere yeni bilgi edindiğinizi belirleyen ayardır. 64 tick bir sunucu için 64 olması yeterlidir.

cl_cmdrate ise bunun tam tersi, saniyede sunucuya kaç kere yeni bilgi gönderdiğinizi belirler.

Yani cmdrate ve updaterate harici interp ayarlarına dokunamazsınız. Evet konsola istediğinizi yazabilirsiniz ama değişen hiçbir şey olmaz. "cvar cl_interp" komutu hala çalışsa da atanacak olan değer yine varsayılan değerlere çok yakın bir değer olacak. Yani kendinizi yormanın bir alemi yok.

Gelelim "raito" komutuna. 64 tick bir sunucuda oyunun her 16 (15.625) milisaniyede bir yenilendiğini söylemiştim. Eğer ratio değerini 2 yaparsanız, oyun sunucudan her 16 milisaneyede bir yeni paket alır ama sunucu oyununn en yeni halini göstermek için üçüncü paketi almanızı bekler. Bu da interpolasyon süresini 32 milisaniyeye çıkarır.

Yani 2 yaparsanız Valve sunucusundan bir şeye bağlanmazsınız. +30 ms falan harcamazsınız. Ping değeriniz falan artmaz.

ratio ayarını 2 yapmanın olayı tamamen "sağlama" yapma amacı güder. Yüksek ping değeri demek sunucu tickleri arasındaki veri paketlerinde olası kayıplar demek. Bu olası kayıplarda da oyuncunun oyundan geri kalmaması için interpolasyon süresi arttırılır ki tickler arası boşluklar istemci tarafında doldurulsun ki sunucudan yeni gelecek olan veri paketine en yakın değer yakalansın - oyunun akıcılığı sağlansın.

İşte dananın kuyruğu da burada kopuyor. Hani o yüksek ping değerlerinde oyuncuların sağa sola ışınlanıyor gibi görünmelerinin sebebi interpolasyonun aradaki paket kaybını telafi edememesidir.

Örneklemek gerekirse, dust2 longa çıkmış bir terörist var diyelim. Araba tarafındaki değil de diğer taraftaki duvarın yanından A Site'a doğru ilerliyor olsun. Yolun yarısında paket kaybı yaşanmış olsun ve bu paket kaybı 40 ms sürsün. 40 ms demek oyuncunun o arada 40/16=2,5 yani 2,5 tick ilerlemiş olduğu anlamına gelir. Ancak paket kaybından dolayı biz bu aradaki 2,5 ticklik ilerlemeyi göremeyiz.

Eğer ratio 2 kullanıyorsak, interpolasyon süresi yaklaşık olarak 32 milisaniye süreceği için, geriye 8 milisaniyelik bir boşluk kalır. İşte o arada kalan boşluk sunucudan yeni paketin gelmesi ve oyun içerisinde görüntülenmesiyle anında güncel veriyle doldurulur ve izlediğimiz oyuncu çok kısa bir mesafe de olsa ışınlanmış gibi görünür. İnterpolasyonun yetersiz kaldığı durumlar da böyle ortaya çıkar. Eğer aradaki kayıp çok daha yüksek ise oyuncular sağa sola ışınlanıyor gibi görünürler. Ancak bazı oyunlar yeni veri paketi gelinceye kadar interpolasyonu sürdürürler.

Örnek verirken terörist oyuncusunun A Site'a doğru gittiğini ve arada 40 mslik bir boşluk olduğunu söylemiştim. Tam da o 40 mslik boşluğun 5. milisaniyesinde oyuncunun durup geri geri gitmeye başladığını düşünün. 32 ms sürecek bir interpolasyonun oyuncunun durup geriye gittiğinden bir haberi olmadığı için interpolasyon oyuncuyu ileriye doğru hareket ediyor gösterir. Ancak sunucudan yeni veri paketi geldiğinde ise oyuncu geriye ışınlanır.

Burada bahsettiğimi 8 ms, insanın algılayabileceği bir süre değil. Algılamak ve görmek farklı şeyler. O yüzden bu 8 ms görmezden gelinebilir. Ancak bu örnekte zıt yöne yapılan bir hareket olduğu için oyuncu bunu fark edecektir.

Vaziyet 15 milisaniyenin üzerindeyse, yani neredeyse 1 ticklik arada kayıp varsa ratio 2 kullanmak gerekir.

Eğer arada 15 ms altı bir fark varsa, ratio 1 kullanmak yeterli olur.

Paket kaybı olmamasına rağmen ratio değeri 2 girerseniz oyun yine sağlama yapmaya devam edeceği ve bu süre zarfında interpolasyona devam edeceği için interpolasyonun yukarıdaki longdan yürüyen terörist örneğindeki gibi oyundan farklı şeyler gösterdiği durumlar olabilir.

Ve o beklenen ana geleyim, uzun lafın kısasına...

Hem de çok kısasına. 80 ping üstü, stabil olduğundan emin olamadığınız internet bağlantılarında ratio 2, 80 ping altı ratio 1 kullanmanız yeterlidir. CSGO, sunucuya bağlanırken sizi bağladığı ticki bazen sapıtabiliyor, sunucuya bağlandıktan sonra "retry" çekmek ya da ana menüye dönüp tekrar bağlanmak, oyunun sizi atayacağı ticki tekrar belirlemesini sağlar.

Bu stabillik olayını nasıl anlayacağınıza ve interpolasyonu buna göre nasıl avantajınıza kullanacağınıza dair bir şeyler karalamak istiyorum ama saat çok geç oldu, bir dahaki sefere artık :)

CSGO ile ilgili her türlü sorularınızı sorabilirsiniz, seve seve yanıtlarım.

İyi güldürdün beni. Kendini tatmin ettiysen kendi konunda devam et sana zahmet. Sana bol şans. Senin konuyu okuduğundan bile şüpheliyim. Ama senin yazını okudum ve çok güldüm. Yazdıkların doğru ama belirttiğin gibi işin teknik kısmına girmeyeyim dediğin yer tam da burası. Demek ki teknik konuda yetersiz kalıyorsun. Anlasan konuyu farklı yerlere çekmek yerine bana teşekkür etmek isterdin. Sen bu değerleri kullanma, bildiğin gibi yap. Anlayan zaten bu değerleri kullanmaya başladı ve faydalanıyor. Katkılarından dolayı teşekkürler.
Hocam kafa karışıklığı oldu kesin ne yapmamızı önerirsiniz şimdi kusurumuza bakmayın çok şey söyleniyor kafa karışıyor faydalı bir konu tam aydınlanalım cl_inerp 0 mı olacak yoksa 0.015625 mi olacak ben denedim 0 yapınca bir 0.015625 oluyor bazen de 0.07821 oluyor değişyor en sağlıklı olanı nedir 55 70 arası ping alan kişiler için.

Ortalama değerin 60 MS ise 0.015625 doğru bir değerdir.

Konuda da belirtiliyor. MS başına "0.0002604" değeri girilmelidir. Hesaplarken virgül, konsola eklerken nokta kullanınız.

Ratio 1 iken;

60 MS x 0,0002604 = 0,015625 (cl_interp "0.015625")

Mesela ortalama değerin 80 MS olsaydı oyun sana yine bu (cl_interp "0.015625") değeri verecekti ancak olması gereken değer;

Ratio 1 iken;

80 MS x 0,0002604 = 0,020832 (cl_interp "0.020832") dir.


1651157019107.png


Ben bu değerleri konuda anlattığım gibi kendime göre hesapladım ve kullanıyorum. Çok da faydasını görüyorum. Artık tercih sizin.
 
Son düzenleme:
Yazmayayım yazmayayım diyordum da "gidin kendinize konu açın" diye berbat bir çıkıştan sonra yazayım dedim.

Sözde rehber zaten fiyasko, bir de üzerine böyle ahkam kesmek komik oluyor.

Şimdi sıfırdan başlayalım, bunu konu olarak da açarım oradan devam ederiz. Konu sahibi üzülüyor yoksa.

İşin teknik kısmına girmeden herkesin anlayacağı şekilde anlatacağım ki burada konuşulan şey nedir tam olarak anlayalım, ardından tek tek yanlışları gösterelim. Tavsiyelerimizi ve ayarlarımızı verdikten sonra da İstiklâl Marşı ile kapanışı yaparız.

İnternetteki bazı Türkçe kaynaklarda belirtildiği gibi interp ayarı kimin daha önce ateş ettiğini belirlemez. Mermi gidiş süresini falan dengelemez. Bunlar tamamen sallama şeyler. İnterpolasyon tamamen farklı bir olaydır.

Öncelikle, tick nedir?

Tick sistemi online/offline fark etmeksizin her oyunda kullanılan bir sistemdir. Oyundan oyuna adı değişse de temel mantık olarak sistem aynıdır. Madem konu CS:GO'dan ilerliyor, ben de onun üzerinden anlatacağım.

64 tick bir sunucu, o an oynanmakta olan oyunu saniyede 64 kere hesaplar demektir. Bir nevi monitörlerin Hz değeri gibi. Oyun, saniyede 64 kere yenileniyor. Hangi oyuncu ne yöne hareket etti, ne tarafa baktı, o yönde neler değişti, fırlatılan el bombası ne kadar yol kat etti vs. Hepsi saniyede 64 kere hesaplanarak ekrana yansıtılıyor.

Ancak oyunda saniyenin 64'te birinden daha kısa sürede gerçekleşen olaylar da oluyor. Üstelik saniyede 64 kere yenilenen bir oyun varken yüksek Hz değerine sahip monitörlerin de bir anlamı kalmıyor. Sonuçta FPS kaç olursa olsun oyun 64 kere yenileniyor. 500 FPS de olsa 1500 FPS de olsa sonuçta bu ekrana yansıyan FPS değeri, oyunun 64 farklı yenilenmiş versiyonundan görüntler içeriyor. Mantık olarak doğru ve işte zaten burada devreye interpolasyon giriyor.

Peki o zaman ınterpolation (ınterp) nedir?

CS:GO'dan tutun binbir farklı Online oyun interpolasyon kullanır. İnterpolasyon, her biri farklı bir "oyun bilgisi güncelleme" noktası olan tickler arasındaki geçişi kusursuz yapmaya yarıyor. Bir nevi tickler arasını doldurarak saniyede 64 kere yenilenen oyun bilgisini sanki anında yenileniyormuş gibi hissettiriyor. Bu yüzden kesik kesik 64 görüntü yerine ekranda direkt olarak "akıcı" bir görüntü görüyorsunuz. Çünkü iki tick arasında geçen zamanda olan hareketleri interpolasyon otomatik olarak dolduruyor.

Eki Görüntüle 1372274

Tick yüksek olursa interpolasyona duyulan ihtiyaç da daha az oluyor. Oyunun yenilenmesi interpolasyon gibi suni şeyler üzerinden değil direkt olarak sunucunun kendisinden gelen "durum bilgileriyle" yapıldığı için "mermiler 128'de daha iyi gidiyor" tarzı şeyler duyuyoruz.

64 tick demek, oyun her 16 milisaniyede bir yenileniyor demek. Çünkü 1 saniye / 64 = 15.625.
Diyelim ki sizin 40 pinginiz var. Karşıdaki bir oyuncunun da 30 pingi olsun. Sizin ateş ettiğiniz bilgisinin sunucuya iletilmesi 20 ms sürecek. Sunucu bu bilgiyi işleyip karşıdaki oyuncuya gönderecek, bu bahsedilen olay da bir sonraki tick. Yani arada 16 ms daha geçti, etti mi 36 ms? Son bilgi oyuncuya gönderildi, onun da pingine 30 demiştik. Etti mi 51 ms? (hesaplama tam olarak böyle değil ama işin tekniğiyle boğmak istemiyorum, temel mantığı anlamanız yeterli. Değerleri yarım almamızın sebebi ise ping değerinin sunucuya bir bilginin iletilimesi ve sunucunun karışılık olarak cevap göndermesi arasında geçen süreye verilen ad olmasından kaynaklı. Biz sunucuya bir bilgi iletiyorsak arada geçecen vakit pingimiz/2'dir.)

51 ms gibi bir sürede neler neler oluyor oyunda. İşte aradaki boşlukları dolduran kahramanımız = interpolasyon.

CS 1.6, 60 tick sunucular kullanıyordu. CS Source ise 66 tick. CS:GO ilk zamanlarında 102 tick sunucular kullanıyordu. Sonradan 64 Tick'e düşürüldü.

E madem yüksek tick yüksek akıcılık ve kesinlik demek, neden düşük tickli oyunlar oynuyoruz?

Çünkü bahsi geçen oyunları "internet üzerinden" oynuyoruz. Yukarıda da bahsettiğim gibi araya ping dediğimiz gecikmeler giriyor. Yüksek tick sunucu demek oyunun çok çok daha hızlı yenilenmesi demek. Bu da güçlü bir sunucu demek. Güçlü sunucu demek oyun yapımcısı için masraf demek. Ayrıca, bu güçlü sunucuya bağlanıp oyunu oynamak isteyen kişilerin de sağlam internet bağlantılarının olması demek. Çünkü önceden saniyede sunucudan alınan bilgi 64 adetken şimdi sallıyorum 128 oldu. Yani kullanılan ağ miktarı 2 katına çıktı. Yüksek bant genişliğine sahip bir internet bağlantısı olmadan isterseniz 4398912498712849 tick sunucularda oynayın, hiçbir faydasını görmezsiniz.

Onlarca kişinin izlediği CS:GO turnuvaları LAN yani "local area network" üzerinden yapılıyor. Eskinin internet kafelerinde Half-Life'ya da CS 1.3/1.5/1.6 oynayanlar bilirler. İnternet bağlantısı olmadan aynı modeme bağlı makineler arasında oynadığımız oyunlardan bahsediyorum. İşte burada ister 128 ister 512 ister 4096 tick sunucularda oyun oynayabilirsiniz. Çünkü ping, yani gecikme neredeyse sıfır!

interpolasyonun ne olduğunu ve neden gerekli olduğunu anladıysak girizgah bitti demektir, şimdi asıl kısma geçelim.

Eki Görüntüle 1372295

Sunucunun bir oyuncuyu görme şekli böyledir. Arada boşluklar vardır. Yukarıda da anlattığım gibi bu aradaki boşlukları "interp" yani interpolasyon değerleri doldurur.

Eki Görüntüle 1372298

Kırmızı okla gösterdiklerim sunucunun verdiği bilgiler, yeşil ok ise "interpolasyonun" iki tick arasını doldurması olayı.

Şimdi bu interpolasyon değerini öyle bir ayarlamalıyız ki ne çok kısa sürmeli ne de çok uzun. Çünkü kısa sürerse oyuncu gerçekte düşündüğümüzden daha geride olur (sunucuya göre). Yok uzun olursa bu sefer gerçekte düşündüğümüzden daha ileride olur.

Bu ayarı kendi başınıza yapmanın hiçbir imkanı yok. Evet yok. Yani dağda taşta, internetin her tarafında "sözde doğru" olarak paylaşılan bu rehberimsi şeylerin hiçbiri gerçeği yansıtmıyor. Çünkü cl_interp CS:GO'da çalışmayan bir komut. Oraya ne yazarsanız yazın oyuna yansımıyor. Oyun, sanki cl_interp değeri sıfırmış gibi kendisi otomatik değer giriyor. Bu otomatik değer de sunucuya girerken bağlandığınız "tick" ile bir önce tick arasında geçen süre ve sizin ping değerinize göre hesaplanıyor.

Yok arkadaş ben illa formülasyonunu bilmek istiyorum diyenler için:
Cl_interp_ratio / cl_updaterate = interp.

Cl_updaterate ayarı, sunucudan saniyede kaç kere yeni bilgi edindiğinizi belirleyen ayardır. 64 tick bir sunucu için 64 olması yeterlidir.

Cl_cmdrate ise bunun tam tersi, saniyede sunucuya kaç kere yeni bilgi gönderdiğinizi belirler.

Yani cmdrate ve updaterate harici interp ayarlarına dokunamazsınız. Evet konsola istediğinizi yazabilirsiniz ama değişen hiçbir şey olmaz. "cvar cl_interp" komutu hala çalışsa da atanacak olan değer yine varsayılan değerlere çok yakın bir değer olacak. Yani kendinizi yormanın bir alemi yok.

gelelim "raito" komutuna. 64 tick bir sunucuda oyunun her 16 (15.625) milisaniyede bir yenilendiğini söylemiştim. Eğer ratio değerini 2 yaparsanız, oyun sunucudan her 16 milisaneyede bir yeni paket alır ama sunucu oyununn en yeni halini göstermek için üçüncü paketi almanızı bekler. Bu da interpolasyon süresini 32 milisaniyeye çıkarır.

Yani 2 yaparsanız Valve sunucusundan bir şeye bağlanmazsınız. +30 ms falan harcamazsınız. Ping değeriniz falan artmaz.

Ratio ayarını 2 yapmanın olayı tamamen "sağlama" yapma amacı güder. Yüksek ping değeri demek sunucu tickleri arasındaki veri paketlerinde olası kayıplar demek. Bu olası kayıplarda da oyuncunun oyundan geri kalmaması için interpolasyon süresi arttırılır ki tickler arası boşluklar istemci tarafında doldurulsun ki sunucudan yeni gelecek olan veri paketine en yakın değer yakalansın - oyunun akıcılığı sağlansın.

İşte dananın kuyruğu da burada kopuyor. Hani o yüksek ping değerlerinde oyuncuların sağa sola ışınlanıyor gibi görünmelerinin sebebi interpolasyonun aradaki paket kaybını telafi edememesidir.

Örneklemek gerekirse, Dust 2 longa çıkmış bir terörist var diyelim. Araba tarafındaki değil de diğer taraftaki duvarın yanından a Site'a doğru ilerliyor olsun. Yolun yarısında paket kaybı yaşanmış olsun ve bu paket kaybı 40 ms sürsün. 40 ms demek oyuncunun o arada 40/16=2,5 yani 2,5 tick ilerlemiş olduğu anlamına gelir. Ancak paket kaybından dolayı biz bu aradaki 2,5 ticklik ilerlemeyi göremeyiz.

Eğer ratio 2 kullanıyorsak, interpolasyon süresi yaklaşık olarak 32 milisaniye süreceği için, geriye 8 milisaniyelik bir boşluk kalır. İşte o arada kalan boşluk sunucudan yeni paketin gelmesi ve oyun içerisinde görüntülenmesiyle anında güncel veriyle doldurulur ve izlediğimiz oyuncu çok kısa bir mesafe de olsa ışınlanmış gibi görünür. İnterpolasyonun yetersiz kaldığı durumlar da böyle ortaya çıkar. Eğer aradaki kayıp çok daha yüksek ise oyuncular sağa sola ışınlanıyor gibi görünürler. Ancak bazı oyunlar yeni veri paketi gelinceye kadar interpolasyonu sürdürürler.

Örnek verirken terörist oyuncusunun a Site'a doğru gittiğini ve arada 40 mslik bir boşluk olduğunu söylemiştim. Tam da o 40 mslik boşluğun 5. milisaniyesinde oyuncunun durup geri geri gitmeye başladığını düşünün. 32 ms sürecek bir interpolasyonun oyuncunun durup geriye gittiğinden bir haberi olmadığı için interpolasyon oyuncuyu ileriye doğru hareket ediyor gösterir. Ancak sunucudan yeni veri paketi geldiğinde ise oyuncu geriye ışınlanır.

Burada bahsettiğimi 8 ms, insanın algılayabileceği bir süre değil. Algılamak ve görmek farklı şeyler. O yüzden bu 8 ms görmezden gelinebilir. Ancak bu örnekte zıt yöne yapılan bir hareket olduğu için oyuncu bunu fark edecektir.

Vaziyet 15 milisaniyenin üzerindeyse, yani neredeyse 1 ticklik arada kayıp varsa ratio 2 kullanmak gerekir.

Eğer arada 15 ms altı bir fark varsa, ratio 1 kullanmak yeterli olur.

Paket kaybı olmamasına rağmen ratio değeri 2 girerseniz oyun yine sağlama yapmaya devam edeceği ve bu süre zarfında interpolasyona devam edeceği için interpolasyonun yukarıdaki longdan yürüyen terörist örneğindeki gibi oyundan farklı şeyler gösterdiği durumlar olabilir.

ve o beklenen ana geleyim, uzun lafın kısasına...

Hem de çok kısasına. 80 ping üstü, stabil olduğundan emin olamadığınız internet bağlantılarında ratio 2, 80 ping altı ratio 1 kullanmanız yeterlidir. CS:GO, sunucuya bağlanırken sizi bağladığı ticki bazen sapıtabiliyor, sunucuya bağlandıktan sonra "retry" çekmek ya da ana menüye dönüp tekrar bağlanmak, oyunun sizi atayacağı ticki tekrar belirlemesini sağlar.

Bu stabillik olayını nasıl anlayacağınıza ve interpolasyonu buna göre nasıl avantajınıza kullanacağınıza dair bir şeyler karalamak istiyorum ama saat çok geç oldu, bir dahaki sefere artık :)

CS:GO ile ilgili her türlü sorularınızı sorabilirsiniz, seve seve yanıtlarım.

Hocam alakasız olacak belki ama yine CS:GO ile ilgili tabii ben dediğim gibi 60 80 arası ping değerim var 64 tick de dediğiniz üzere cl_interp otomatik ne yaparsak yapalım atıyor peki cl_interp_ratio FACEIT girdiğimizde 2 mi olmalı benim orada pingim bazen 80 ve üzeri olabiliyor mm girince düşük oluyor ama FACEIT yüksek. Bir de hocam ben Pro oyuncuları izliyorum adamlar da ki mouse hassasiyeti falan acayip görüntü hassasiyeti ne bileyim ben sürekli ayar değiştiriyorum sabit kalamıyorum bu yüzden mi acaba etkileniyorum.
 
Virgül kullanmadım zaten cl_interp 0 olarak girdim kodu.
Bana bu değeri verdi cl_interp 0.015625 oyuna her girdiğimde bu değer oluyor demek ki sistem bu değeri kullanmam gerektiğini söylüyor D:
 
İyi güldürdün beni. Kendini tatmin ettiysen kendi konunda devam et sana zahmet. Sana bol şans. Senin konuyu okuduğundan bile şüpheliyim. Ama senin yazını okudum ve çok güldüm. Yazdıkların doğru ama belirttiğin gibi işin teknik kısmına girmeyeyim dediğin yer tam da burası. Demek ki teknik konuda yetersiz kalıyorsun. Anlasan konuyu farklı yerlere çekmek yerine bana teşekkür etmek isterdin. Sen bu değerleri kullanma, bildiğin gibi yap. Anlayan zaten bu değerleri kullanmaya başladı ve faydalanıyor. Katkılarından dolayı teşekkürler.

Sen gülmeye de ayarlarını kullanmaya da devam et. İşin tekniğine girmiyorum çünkü gerek yok. Burada kimseye sıfırdan snapshot, lag compensation, de-route ve benzeri bir kamyon teknik terimi grafik üzerinden anlatacak değilim. Altı üstü girip iki adam vurup vakit geçirecek insanlar. Hiçbiri ağ teknikeri olmayacak. Veya online gaming network skeleton kurmayacak. Bana bulaşma yeterli. Zaten iki mesajı da okuyan hangisi doğru hangisi yanlış görebiliyor.

Hocam alakasız olacak belki ama yine CS:GO ile ilgili tabii ben dediğim gibi 60 80 arası ping değerim var 64 tick de dediğiniz üzere cl_interp otomatik ne yaparsak yapalım atıyor peki cl_interp_ratio FACEIT girdiğimizde 2 mi olmalı benim orada pingim bazen 80 ve üzeri olabiliyor mm girince düşük oluyor ama FACEIT yüksek. Bir de hocam ben Pro oyuncuları izliyorum adamlar da ki mouse hassasiyeti falan acayip görüntü hassasiyeti ne bileyim ben sürekli ayar değiştiriyorum sabit kalamıyorum bu yüzden mi acaba etkileniyorum.
Net graphta loss değerin %2'yi geçmiyorsa ratio 1 kullanmaya devam edebilirsin. Eğer geçiyorsa 2 kullanırsın.

Mouse hassasiyeti yıllarca aynı tür sensör ve aynı hassasiyet ayarıyla oynayarak kazanılıyor. Kas hafızası denen olay eğitmesi çok zor bir şey. Eğer yanlış bir kas hafızası gelişmişse yenisine adapte olmak zor olsa da imkansız değil.

Rahat ettiğin bir ayar bulup üzerine gitmen yeterli.

Görüntü hassasiyeti dediğin olay da sanırım refleks. Sen daha adam nerde göremeden adamlar anında görüp, algılayıp daha bir de ateş edip öldürüyorlar ki bu çok normal.

O insanlar çok vakit harcıyorlar. Aynı vakti harcarsan sen de aynı seviyeye gelirsin ama bana sorarsan hiçbir gereği yok. Cs beta v5'ten bu yana manyak gibi CS oynayan biri olarak söylüyorum bunu :)
 
Sen gülmeye de ayarlarını kullanmaya da devam et. İşin tekniğine girmiyorum çünkü gerek yok. Burada kimseye sıfırdan snapshot, lag compensation, de-route ve benzeri bir kamyon teknik terimi grafik üzerinden anlatacak değilim. Altı üstü girip iki adam vurup vakit geçirecek insanlar. Hiçbiri ağ teknikeri olmayacak. Veya Online Gaming network skeleton kurmayacak. Bana bulaşma yeterli. Zaten iki mesajı da okuyan hangisi doğru hangisi yanlış görebiliyor.

Net graphta loss değerin %2'yi geçmiyorsa ratio 1 kullanmaya devam edebilirsin. Eğer geçiyorsa 2 kullanırsın.

Mouse hassasiyeti yıllarca aynı tür sensör ve aynı hassasiyet ayarıyla oynayarak kazanılıyor. Kas hafızası denen olay eğitmesi çok zor bir şey. Eğer yanlış bir kas hafızası gelişmişse yenisine adapte olmak zor olsa da imkansız değil.

Rahat ettiğin bir ayar bulup üzerine gitmen yeterli.

Görüntü hassasiyeti dediğin olay da sanırım refleks. Sen daha adam nerede göremeden adamlar anında görüp, algılayıp daha bir de ateş edip öldürüyorlar ki bu çok normal.

O insanlar çok vakit harcıyorlar. Aynı vakti harcarsan sen de aynı seviyeye gelirsin ama bana sorarsan hiçbir gereği yok. CS beta v5'ten bu yana manyak gibi CS oynayan biri olarak söylüyorum bunu :)

Teşekkür ederim gerçekten çok faydalı oldunuz minnetarım size aylardır bu sorunları çözmek için uğraşıyordum ama birincisi zaten cl_interp otomaitk ayarlıyor biz ne yaparsak yapalım boşmuş cl_interp_ratio 1 kulanıyordum diğer ayar bilgileri için de çok sağ olun fazlasıyla yardımcı oldunuz.
 
Sen gülmeye de ayarlarını kullanmaya da devam et. İşin tekniğine girmiyorum çünkü gerek yok. Burada kimseye sıfırdan snapshot, lag compensation, de-route ve benzeri bir kamyon teknik terimi grafik üzerinden anlatacak değilim. Altı üstü girip iki adam vurup vakit geçirecek insanlar. Hiçbiri ağ teknikeri olmayacak. Veya online gaming network skeleton kurmayacak. Bana bulaşma yeterli. Zaten iki mesajı da okuyan hangisi doğru hangisi yanlış görebiliyor.


Net graphta loss değerin %2'yi geçmiyorsa ratio 1 kullanmaya devam edebilirsin. Eğer geçiyorsa 2 kullanırsın.

Mouse hassasiyeti yıllarca aynı tür sensör ve aynı hassasiyet ayarıyla oynayarak kazanılıyor. Kas hafızası denen olay eğitmesi çok zor bir şey. Eğer yanlış bir kas hafızası gelişmişse yenisine adapte olmak zor olsa da imkansız değil.

Rahat ettiğin bir ayar bulup üzerine gitmen yeterli.

Görüntü hassasiyeti dediğin olay da sanırım refleks. Sen daha adam nerde göremeden adamlar anında görüp, algılayıp daha bir de ateş edip öldürüyorlar ki bu çok normal.

O insanlar çok vakit harcıyorlar. Aynı vakti harcarsan sen de aynı seviyeye gelirsin ama bana sorarsan hiçbir gereği yok. Cs beta v5'ten bu yana manyak gibi CS oynayan biri olarak söylüyorum bunu :)
Haklısın insanlar deneyerek hangisinin doğru yada yanlış olduğuna karar versin. Hala haklı olma çabası içerisindesin git bu tekniklerini kendi konunda paylaş. Yazdığın her şey zaten benim konumu doğrular nitelikte, kaldı ki hala haklıymış gibi böbürleniyorsun. Bana bulaşan sensin, asıl sen bana bulaşma git işine bak bildiğin gibi oyna ok..
 
Durum
Mesaj gönderimine kapalı.

Yeni konular

Geri
Yukarı