Nişanım neden geç gidiyor

Farenin iddia ettiği polling hızı ile gerçekte teslim ettiği hız arasındaki fark, ve elinle nişangâh arasındaki diğer beş şey. w0a bunlardan ikisini kendi makinende ölçüyor; bu sayfa geri kalanını anlatıyor.

Faren kutunun üstündeki hızda rapor vermiyor olabilir ve bu, varsayılacak değil ilk ölçülecek şey. Paylaşılan bir USB denetleyicisine ya da uzun ve beslemesiz bir hub'a takılı "1000 Hz" bir fare, reklam ettiğinden daha az rapor teslim edebiliyor — ve gerçekte teslim ettiği sayı kendi makinende yaklaşık on beş saniyede ölçülebiliyor.

Aşağıdaki altı sebebin her biri, onu elemenin bir yoluyla birlikte geliyor. Sıralama bir önem sırası değil: her birinin ne sıklıkla cevap çıktığı ölçülmedi.

İddia edilen hız ile ölçülen hız iki ayrı sayı

USB girdi cihazı, ana makineye kendisini ne sıklıkta yoklayacağını söyler. Bu istek, uç nokta tanımlayıcısının bInterval adlı alanında yaşıyor ve Microsoft'un referansı bunu açıkça yazıyor: "This value reflects the device's configuration in firmware. Drivers cannot change it." Full-speed bir cihazda bInterval değerinin 1 olması, 1 milisaniyelik çerçeve başına bir yoklama demek; high-speed bir cihazda aralık mikroçerçeveyle sayılıyor, milisaniyede sekiz tane.

Bu, istek kısmı. Aldığın şey ise aradaki bağlantıya, denetleyiciye, sürücüye ve güç politikasına bağlı. Yani bu iki sayının yan yana okunması gerekiyor — w0a da onları yan yana gösteriyor:

Ana ekran: CPU ve ekran kartının anlık frekansı ve sıcaklığı, gerçek fare hareketinden ölçülen polling hızı ve makinenin künyesi.
Ana ekran: CPU ve ekran kartının anlık frekansı ve sıcaklığı, gerçek fare hareketinden ölçülen polling hızı ve makinenin künyesi.

İki okuma da ham girdi akışından geliyor ve sistem saatiyle değil yüksek çözünürlüklü performans sayacıyla zamanlanıyor. Bu ayrıntı kulağa geldiğinden daha önemli: sıradan Windows mesaj yolu, fare hareketini onu okuyan pencerenin temposuna göre birleştiriyor, dolayısıyla bunun üstüne kurulmuş bir araç 1000 Hz bir fareyi 125 Hz bir fareden ayırt edemez. Test neden 12 saniye fare hareketi istiyor bu argümanın uzun hâli.

Her iki okuma alınırken de fareyi daireler çizerek hareket ettir. Hareket etmeyen fare hiçbir şey göndermez ve hiçliğin ölçümü düşük rapor hızı değildir — ölçüm yokluğudur.

Düzenlilik, tepe değerinden daha önemli

Ortalama rapor hızı, asıl hissettiğin şeyi gizliyor. Hissettiğin şey, geç gelen rapor.

Gecikme Testi sayfası her cihaz için şunları yazıyor: Rapor hızı, En kısa, Ortalama, Ortanca, En yavaş %1 ve En yavaş %0,1 — artı her aralığı üç kovaya bölen bir dağılım satırı: zamanında, geç (kendi ortancanın 1,5–3 katı) ve kayıp (3 katından fazla). Eşiklerin senin kendi ortancana göre olması bilinçli. Baştan sona yavaş bir makine ile çoğunlukla hızlı olup ani sıçrama yapan bir makine farklı sorunlardır ve sabit bir sayı bu farkı gizlerdi.

Aralıklarının %2'si "kayıp" kovasında olan tertemiz 1000 Hz'lik bir fare, bir flick'te hiç kaybı olmayan 500 Hz'lik bir fareden daha kötü hissettirir. Sayfanın tek bir rakam yerine dağılım basmasının bütün sebebi bu.

Altı sebep ve her birinin nasıl eleneceği

1. Port, hub ve denetleyici

Bir hub'ın arkasındaki her cihaz o hub'ın bağlantısını, tek bir ana denetleyicideki her cihaz da o denetleyicinin takvimini paylaşıyor. Aynı denetleyicide bir web kamerası, bir kulaklık ve harici bir diskin yanındaki yüksek rapor hızlı fare, aynı yuvalar için yarışıyor demektir.

  1. Fareyi makinenin kendi portuna, tercihen meşgul bir cihazla aynı denetleyiciyi paylaşmayan bir porta taşı. USB Portları sayfası cihazları arkalarındaki denetleyiciye göre grupluyor; bunu tahmin olmaktan çıkarıp kontrol edilebilir yapan şey de bu.
  2. Test ederken fareyi monitör hub'larından, KVM'lerden ve beslemesiz hub'lardan tamamen çıkar.
  3. Ana Ekran'daki okumayı tekrar al. Ölçülen aralık kısaldıysa ya da düzenlendiyse yeni portta kal.

2. Windows'un portu uyutmasına izin verilmiş

Bir aradan sonraki ilk hareket ağır geliyor, sonrasında her şey yolundaysa, elenmesi gereken sebeplerden biri bu. Windows bunu kendiliğinden yapmaz: fare ve klavyede seçici askıya almayı, cihazın kendisi ya da üreticisinin sürücüsü istemedikçe kapalı tutar. USB port güç ayarları kartı girdi cihazlarının güç izinlerini tek basışta Windows varsayılanına döndürüyor; USB Portları sayfası da tek bir cihaza Askıya almayı kapat uygulayabiliyor.

3. Kablosuz

Kablosuz fare, bir telsiz atlaması ve kendi takvimi olan bir alıcı ekliyor. Günümüzün özel bir alıcısı kablodan yavaş olmak zorunda değil; aranacak arıza biçimi sabit bir gecikme değil, tıkanıklık: kalabalık bir 2,4 GHz bandı, kasanın arkasında metal panelin gerisine takılmış bir alıcı ya da USB 3 bir cihazla aynı port bloğunu paylaşan bir dongle.

Bluetooth ise bambaşka bir durum ve bu iş için tasarlanmadı. Fare Bluetooth üzerindeyse ve his senin için önemliyse, özel alıcıyı ya da kabloyu kullan. Cihazın kendisi yaramazlık yapıyorsa eşleşme tarafını Bluetooth anlatıyor.

Kablosuzu, kasanın arkasında değil ön porta ya da masanın üstündeki kısa bir uzatmaya takılı alıcıyla test et. Bunun hiçbir maliyeti yok, bir dakika sürüyor ve "kablosuz farem bir odada takılıyor" şikâyetinin arkasında alıcının yerinin olup olmadığını gösteriyor.

4. İşaretçi hızlandırma ve işaretçi hızı

Hızlandırma, imlecin katettiği mesafenin ne kadar hızlı hareket ettiğine bağlı olması demek; yani aynı el hareketi her seferinde farklı bir sonuç veriyor. Bu bir gecikme değil, ama "nişanım tutarsız" diye okunuyor ve insanlar buraya gecikme çözümü aramaya geliyor.

w0a'nın yaptığı: Optimizasyonlar sayfasında, HKCU\Control Panel\Mouse altına MouseSpeed, MouseThreshold1 ve MouseThreshold2 değerlerini 0 yazarak hızlandırmayı kapatan ve işaretçi eğrisini bir sayım bir birim hareket edecek şekilde düzleştiren bir anahtar var.

Bilerek yapmadığı şey: MouseSensitivity değerine asla yazmıyor. Masaüstü işaretçi hızın senin ayarındır ve onu sessizce değiştiren bir ayar aracı, senin seçtiğin bir şeyi bozmuş olur. Daha eski bir araç bunu değiştirdiyse Fare, klavye ve touchpad Windows varsayılanlarını geri koyuyor — hızlandırma dahil, ki Windows varsayılanında hızlandırma açıktır.

Nişan için ham girdiyi okuyan nişancı oyunları, CS2 de dahil, Windows işaretçi eğrisini yok sayıyor; dolayısıyla hızlandırmayı kapatmak esas olarak masaüstü ve menülerle ilgili bir şey. Yine de yapmaya değer, ama flick'lerinin ıskalamasının sebebi bu değil.

5. DPI ile oyun içi hassasiyet iki sayı değil, tek sayı

Nişangâhın ne kadar gideceğine, inç başına sayım ile oyun içi hassasiyetin çarpımı karar veriyor. DPI'ı yükseltip telafi etmek için hassasiyeti düşürmek, aynı sonucu farklı bir yuvarlamayla bırakıyor; DPI'ı sensörün doğal olmadığı bir sayıya düşürmek de hareketi yumuşak değil taneli hâle getirebiliyor.

Bunun bir yazılım çözümü yok ve w0a'da buna dokunan hiçbir şey yok. Bu, farendeki bir ayar ile oyundaki bir ayar; işe yarayan tek yöntem de birini seçip değiştirmeyi bırakmak.

6. Sensör, yüzey ve oyunun kendi yumuşatması

Kalkış mesafesi, yansıtıcı ya da kirli bir mousepad, izleme hızının dışında çalışmaya zorlanan bir sensör — bunlar tam olarak "nişanım başka yere gitti" hissini üretiyor ve yazılım bunları hiç göremiyor. Hiçbir sürücü sensör güvenini okumuyor; Windows bir hareket raporu alıyor ve onun yanlış olduğunu anlamasının hiçbir yolu yok. Ölçülmüş, düzenli bir rapor hızının yanında nişan hâlâ öngörülemez hissettiriyorsa, başka bir ayarı değiştirmeden önce yüzeyi temizle ve farklı bir pad dene.

Bazı oyunlar da Windows'tan bağımsız olarak kendi girdi yumuşatmasını ya da hızlandırmasını uyguluyor. Oyunun kendi ayarlarına bak; onu oyunun dışından kapatabilecek hiçbir şey yok.

Gerçekten yapabileceğin bir tur

  1. Ana Ekran'ı aç, fareyi birkaç saniye daireler çizerek hareket ettir ve Fare Polling Hızı okumasını not et — ms cinsinden aralık ile düzenlilik yüzdesi.
  2. Gecikme Testi'ni aç, 12 saniyenin tamamını hareket ederek koştur ve Rapor hızı, Ortanca, En yavaş %1 ile üç dağılım yüzdesini not et.
  3. Tek bir şeyi değiştir: portu, alıcının konumunu, hub'ı ya da güç ayarını.
  4. 2. adımı aynı şekilde tekrarla ve karşılaştır. Aynı hareket, aynı süre; yoksa iki farklı şeyi karşılaştırıyorsun demektir.
  5. Değişikliği yalnızca sayılar oynadıysa koru. Oynamadıysa geri al — Fix kartları tam olarak bunun için var.

Yazılımın burada yapamadıkları

Yapabildiği iki şey — ölçülen hızı iddia edilenin yanında göstermek ve hangi sürücünün bir çekirdeği tuttuğunu göstermek — başka hiçbir yoldan alamayacağın iki şey ve bir donanım cevabını bir yazılım cevabından ayırmaya yetiyorlar.

İlgili

Bir tıklamayla pikselin değişmesi arasındaki yaklaşık on iki aşamanın üçü yazılıma ait; kalanı firmware'in, ekranın ve oyunun: Input lag nasıl azaltılır: yazılım neyi kısaltabilir, neyi kısaltamaz

w0a sen istemeden hiçbir Windows ayarını değiştirmez; bir optimizasyon yeni bir değer yazmadan önce eskisini kaydeder. Haber al

Bu sayfa yardımcı oldu mu?

Eksik olan neydi, ya da ne işe yaramadı? Bunların hepsini okuyoruz.

Bu sayfa sorununu çözmediyse bize yaz — hangi makaleyi okuduğunu da ekle, o makaleyi düzeltelim.