Windows bilgisayarınızda her şey yolunda görünüyor olabilir; işlemci kullanımı düşük, ekran kartı sorunsuz çalışıyor, oyun performansı tatmin edici olabilir. Ancak buna rağmen aniden ortaya çıkan ses cızırtıları, fare takılmaları, USB ses kesilmeleri veya kısa süreli sistem donmaları gibi can sıkıcı sorunlarla karşılaşıyorsanız, bunun olası bir nedeni yüksek DPC gecikmesi olabilir.
Bu ilk başta karmaşık bir teknik sorun gibi görünse de, temel mantığını anladığınızda teşhisi çok daha kolaylaşır. Daha da önemlisi, rastgele "PC optimizasyon" kontrol listelerine uyarak zaman kaybetmek yerine, doğru yaklaşım sorunu ölçmek, ilgili sürücüyü veya alt sistemi belirlemek, bir değişkeni değiştirmek ve ardından yeniden test etmektir.
Daha fazla ilerlemeden önce terminolojiyi açıklığa kavuşturalım. DPC veya Gecikmeli İşlem Çağrısı (Deferred Procedure Call), Windows sürücülerinin kesme (interrupt) ile ilgili çalışmalarının bir bölümünü ertelemesinin bir yoludur, böylece en acil kısım hızlıca tamamlanabilir. ISR veya Kesme Servis Rutini (Interrupt Service Routine), donanımın işlemcinin dikkatine ihtiyaç duyduğunda devreye giren anlık sürücü kodudur. IRQL veya Kesme İstek Seviyesi (Interrupt Request Level), Windows'un kesme ve çekirdek (kernel) çalışmaları için kullandığı dahili öncelik seviyesidir. ETW veya Windows için Olay İzleme (Event Tracing for Windows), ayrıntılı sistem etkinliğini yakalamak için Microsoft'un izleme sistemidir. WPR veya Windows Performans Kaydedicisi (Windows Performance Recorder), ETW izlerini kaydederken, WPA veya Windows Performans Çözümleyicisi (Windows Performance Analyzer) ise bunları analiz etmek için kullanılan araçtır.
Basitçe ifade etmek gerekirse, bir cihaz işlemciyi keser, sürücüsü bir ISR çalıştırır, ISR bir DPC kuyruğu oluşturabilir ve DPC işin geri kalanını tamamlar. İşlerin normal işleyişi budur. Sorun, bir sürücü ISR veya DPC'de çok fazla zaman harcadığında başlar. Bu yüksek öncelikli çalışma devam ederken, normal uygulama iş parçacıkları o işlemci çekirdeğinde veya iş parçacığında çalışamaz. Eğer bu gecikme yeterince uzunsa, ses çalma, canlı kayıt, USB ses arayüzleri, ağ veya oyun kare teslimatı gibi zaman açısından kritik iş yükleri teslimat tarihlerini kaçırabilir.
İşte bu yüzden yüksek DPC gecikmesi genellikle normal bir "düşük kare hızı" sorunu gibi hissedilmez. Küçük sistem düzeyinde takılmalar, rastgele ses patlamaları, kısa donmalar, ani giriş duraklamaları veya yüksek CPU veya GPU kullanımına tam olarak uymayan kare zamanlama ani yükselişleri gibi hissedilebilir.
Yüksek DPC Gecikmesi Belirtileri: Genellikle Nasıl Görünür?
Yüksek DPC gecikmesi en sık ses sorunları olarak ortaya çıkar, çünkü ses bozulmaya en kolay yatkın iş yüklerinden biridir. Ses tamponu zamanında teslim edilmezse, bir patlama, çıtırtı, kesinti veya kısa bir bozulma duyabilirsiniz. Ancak aynı temel sorun diğer gerçek zamanlı yanıt verme biçimlerini de etkileyebilir.
Yaygın belirtiler şunlardır:
- Sesin çıtırdaması, patlaması veya kesilmesi.
- USB ses arayüzü sorunları.
- Fare imlecinin takılması veya kısa süreli giriş duraklamaları.
- Kısa süreli sistem genelinde donmalar.
- Ortalama FPS ile uyumlu olmayan oyun kare zamanlama ani yükselişleri.
- Discord, OBS, yakalama kartı veya akış sorunları.
- Ağ paketi titremesi (jitter) veya kısa bağlantı kesintileri.
- Ağır durumlarda DPC Watchdog İhlali mavi ekran hataları (BSoD'lar).
Ancak bu noktada dikkatli olmalıyız, çünkü her ses çıtırtısı veya sistem takılması yüksek DPC gecikmesinden kaynaklanmaz. En büyük benzer belirti gösteren sorunlardan biri aşırı sayfa hatası (hard page faults)dır.
DPC Gecikmesini Suçlamadan Önce, Sayfa Hatalarını ve Sistem Belleği Basıncını Kontrol Edin
Bu, birçok DPC gecikmesi rehberinin yeterince vurgulamadığı çok önemli bir noktadır: sayfa hataları çok benzer belirtilere neden olabilir.
Bir sayfa hatası, Windows'un fiziksel bellekte bulunmayan ve depolama biriminden alınması gereken bir bellek sayfasını gerektirmesi durumunda oluşur. Bu otomatik olarak kötü bir şey değildir. Aslında, modern işletim sistemleri sanal belleği sürekli kullanır ve sayfa hataları bu sistemin normal bir parçasıdır. Sorun, gerçek zamanlı çalışması gereken uygulama (ses uygulaması, oyun, tarayıcı, kayıt aracı veya sesli sohbet istemcisi gibi) Windows'un verileri depolama birimine bağlı sayfa dosyasından çekmesi gerektiği için durduğunda başlar.
Eğer sistem belleğiniz tükeniyorsa, Windows daha agresif bir şekilde belleği sayfalayabilir. Bu noktada belirtiler çok kötüleşebilir: ses çıtırtıları, kısa donmalar, USB işaretçi takılmaları, uygulama durmaları veya sistem genelinde "az önce ne oldu?" anları. Bu, gerçek sorun sistemin yeterli bellek boşluğuna sahip olmaması olsa bile, kullanıcı perspektifinden DPC gecikmesi sorunu gibi görünebilir.
Bu nedenle, bu belirtileri görüyorsanız ve sistem belleği kullanımınızın zaten çok yüksek olduğunu biliyorsanız, oradan başlayın. Görev Yöneticisi'ni açın, bellek kullanımını kontrol edin, ağır arka plan uygulamalarını kapatın ve sorunun iyileşip iyileşmediğini izleyin. Makinenizde 16 GB RAM varsa ve Chrome, Discord, OBS, oyun başlatıcıları, RGB yazılımları ve izleme katmanlarını çalıştırırken oyun oynuyorsanız, sistemi aşırı zorluyor olabilirsiniz.
Resplendence Software'in LatencyMon programı burada çok kullanışlıdır çünkü hem ISR/DPC davranışını hem de sayfa hatası davranışını raporlar. Eğer DPC/ISR zamanlamaları iyiyse ancak sayfa hataları aşırı yüksekse, özellikle ses üreten işlemde veya titreyen uygulamada, o zaman körü körüne aygıt sürücülerini kovalamamalısınız.
Yüksek DPC Gecikmesine Genellikle Ne Neden Olur?
En yaygın nedenler birkaç geniş kategoriye ayrılır.
Birincisi aygıt sürücüleridir. Bu en büyük nedendir. Ağ sürücüleri, Bluetooth sürücüleri, USB ana denetleyici sürücüleri, ses sürücüleri, GPU sürücüleri, depolama sürücüleri, yonga seti sürücüleri ve anakart yardımcı sürücüleri yüksek DPC veya ISR yürütme sürelerine katkıda bulunabilir. Bazen sürücünün kendisi kötüdür. Bazen sürücü iyidir, ancak firmware, BIOS/UEFI, güç davranışı, aygıt yapılandırması veya hatalı bir aygıt sorunlara neden olur.
İkincisi USB davranışıdır. USB ses arayüzleri özellikle hassastır, ancak fareler, klavyeler, hub'lar, web kameraları, yakalama aygıtları, Dijital-Analog Dönüştürücüler (DAC'ler), harici sürücüler, denetleyiciler ve kablosuz dongle'lar da dahil olabilir. Kötü bir USB aygıtı, hatalı bir USB denetleyici yolu, kötü bir hub veya agresif USB güç yönetimi DPC gecikmesi ani yükselişlerine neden olabilir.
Üçüncüsü ağdır. LatencyMon ndis.sys veya tcpip.sys gibi sürücüleri işaretlerse, özellikle Wi-Fi kullanıyorsanız, ağ yığını ilgiye değerdir. Bu otomatik olarak ndis.sys'in kendisinin "kötü" olduğu anlamına gelmez; genellikle bu yığının altındaki bir ağ bağdaştırıcısı sürücüsünün sorun yarattığı anlamına gelir.
Dördüncüsü grafik aygıtlarıdır. Bu, oyun sistemlerinde şaşırtıcı derecede yaygın bir durumdur. Oyun oynarken ses çıtırtıları oluyorsa, ses sürücüsünün suçlu olduğunu varsaymayın. GPU sürücüleri ve Windows grafik çekirdek yolu kesinlikle dahil olabilir. LatencyMon veya WPA dxgkrnl.sys veya GPU satıcı sürücüsünü işaret ediyorsa, temiz bir GPU sürücüsü yeniden yüklemesi, geri alma, yonga seti güncellemesi veya VBIOS/BIOS güncellemesi gerekebilir.
Beşincisi güç yönetimi ve firmware'dir. Modern CPU'lar, GPU'lar, yonga setleri, dizüstü bilgisayarlar ve anakartlar sürekli olarak güç durumlarını değiştirir. Bu verimlilik için iyidir, ancak bazen kötü firmware veya kötü platform davranışı DPC gecikmesi ani yükselişlerine neden olabilir. CPU C-state'leri, paket uyku durumları, agresif çekirdek park etme (core parking), USB seçici askıya alma (USB selective suspend), PCI-Express güç yönetimi ve dizüstü bilgisayar satıcısı kontrol yazılımları test etmeye değer olabilir.
Altıncı ve sonuncusu güvenlik ve sanallaştırma katmanlarıdır. Bellek Bütünlüğü/Çekirdek İzolasyonu/HVCI/VBS, Hyper-V ile ilgili özellikler, üçüncü taraf antivirüs yazılımları, uç nokta algılama ve yanıt (EDR), sanal özel ağ (VPN), anti-hile yazılımları, izleme yazılımları ve dosya sistemi filtre sürücüleri (file system filter drivers) ek yük ekleyebilir veya çekirdek davranışını değiştirebilir. Bu, güvenlik özelliklerini kalıcı olarak devre dışı bırakmanız gerektiği anlamına gelmez. Bu, sorunun Windows, sürücü veya güvenlik yapılandırması değişikliğinden sonra ortaya çıktığı durumlarda test edilmesi meşru değişkenlerdir.
Yüksek DPC Gecikmesini Doğru Şekilde Teşhis Etme ve Düzeltme
Artık DPC gecikmesinin ne olduğunu, nasıl göründüğünü ve sayfa hatalarının bazen aynı belirtileri nasıl taklit edebileceğini bildiğimize göre, gerçek teşhis sürecine geçebiliriz. Buradaki amaç, internette bulabileceğiniz her rastgele Windows "DPC gecikmesi ayarı"nı uygulamak değildir. Bunun yerine, sorunu yeniden üretmek, aslında meydana geldiği koşullar altında ölçmek, sorumlu en olası sürücüyü veya donanım/yazılım parçasını belirlemek ve ardından tek tek hedefe yönelik düzeltmeler uygulamak istiyoruz. Başka bir deyişle, tahmin etmekten kanıta hareket etmek istiyoruz.
Adım 1: Sorunu Doğru Şekilde Yeniden Üretin
Her şeyden önce, aşağıdaki bağlantıdan LatencyMon'u indirin:
https://www.resplendence.com/downloads
Ardından, sorunun ortaya çıktığı gerçek senaryoyu yeniden üretmeniz gerekir. Eğer ses çıtırtıları yalnızca belirli bir oyunu oynarken oluyorsa, o oyunu çalıştırın. Sorun USB DAC'niz bağlıyken oluyorsa, bağlı tutun. Sorun Wi-Fi üzerinden dosya indirirken Discord aramaları sırasında oluyorsa, bunu yeniden üretin. Sorun yalnızca OBS kayıt yaparken oluyorsa, kayıt yapın.
DPC gecikmesi sorunları iş yüküne özgü olabilir. Boştayken temiz görünen bir sistem, GPU sürücüsü, ağ bağdaştırıcısı, USB denetleyicisi ve ses yolu aynı anda aktif olduğunda çöker.
İlk denemeniz için aşağıdaki adımları izlemenizi öneririz:
- Bilgisayarı yeniden başlatın.
- Gereksiz arka plan uygulamalarını kapatın.
- LatencyMon'u yönetici olarak açın.
- LatencyMon yakalamasını başlatın.
- Gerçek sorunu en az 5-10 dakika boyunca yeniden üretin.
- LatencyMon yakalamasını durdurun.
- Ana (Main), İstatistikler (Stats), İşlemler (Processes) ve Sürücüler (Drivers) sekmelerini kontrol edin.
Adım 2: LatencyMon'u Doğru Şekilde Kullanarak Sorunlu Bölümü Daraltın
LatencyMon mükemmel bir program olmasa da, mükemmel bir ilk aşama aracıdır. Sisteminizin gerçek zamanlı ses için uygun görünüp görünmediğini bildirir ve en yüksek ISR ve DPC yürütme sürelerine sahip sürücüleri raporlar. Ayrıca, daha önce de belirttiğimiz gibi, en az sayfa hatalarını da raporlar.
Ana sekmesiyle başlayın, ancak orada durmayın. Sonuç metni faydalıdır, ancak ayrıntılı sekmeler daha önemlidir.
Sürücüler sekmesinde, yürütme süresine (DPC rutinleri için) göre en yüksekten en düşüğe doğru sıralayın. Bu, belirli bir sürücünün en kötü ani yükselişlerden sorumlu olup olmadığını gösterebilir. Şunlar gibi isimler görebilirsiniz:
- ndis.sys veya tcpip.sys – genellikle ağa, özellikle Wi-Fi'ye işaret eder.
- usbxhci.sys – USB eXtensible Host Controller Interface (xHCI) ana denetleyici yolu.
- Wdf01000.sys – Windows Sürücü Çerçevesi (Windows Driver Framework); genellikle belirli bir aygıt sürücüsünün üstündeki bir çerçeve katmanı, tek başına gerçek kök neden olmak zorunda değildir.
- dxgkrnl.sys – Windows grafik çekirdek yolu.
- GPU satıcı sürücüsü, örneğin NVIDIA, AMD veya Intel grafik sürücü modülleri.
- Ses sürücü modülleri.
- Depolama veya yonga setiyle ilgili sürücüler.
- Ve benzeri.
Buradaki anahtar kelime "işaret eder". LatencyMon size bir şüpheli verebilir, ancak her zaman kesin bir mahkumiyet vermez. Örneğin, Wdf01000.sys yüksek görünüyorsa, bu yalnızca Windows Sürücü Çerçevesi'ni kullanan bir aygıt sürücüsünün dahil olduğu anlamına gelebilir. Hangi aygıtın soruna neden olduğunu hala izole etmeniz gerekir.
Sonra, İşlemler sekmesini kontrol edin. Sayfa hataları yüksekse, sayfa hatası sütunlarına göre sıralayın ve etkilenen uygulamanın hedef olup olmadığını görün. Dijital ses iş istasyonunuz (DAW), oyun, tarayıcı veya ses işlemi, aksaklık meydana gelirken sürekli olarak sayfa hatası alıyorsa, sistem belleği basıncı veya depolama sayfalama DPC gecikmesinden daha önemli bir sorun olabilir.
Adım 3: Şüpheli Donanım Aygıtını veya Yazılım Parçasını İzole Edin
LatencyMon size kabaca bir yön verdikten sonra, aygıtları izole etmeye başlayın. Burası metodik olmanız gereken yerdir.
Şüpheli ağ ise, Wi-Fi'yi devre dışı bırakın ve Ethernet ile test edin. Zaten Ethernet kullanıyorsanız, Ethernet bağdaştırıcısını devre dışı bırakıp Wi-Fi'yi etkinleştirerek test edin veya kısa bir test için ağı tamamen ayırın. Ani yükselişler kaybolursa, sorunu daraltmış olursunuz.
Şüpheli USB ise, gereksiz her şeyi çıkarın. Mümkünse yalnızca klavye ve fareyi bırakın. USB hub'ları, harici sürücüleri, web kameralarını, denetleyicileri, kablosuz dongle'ları, DAC'leri, ses arayüzlerini ve yakalama aygıtlarını çıkarın. Ardından aygıtları tek tek geri ekleyin ve testi yeniden çalıştırın.
Şüpheli ses ise, başka bir çıkış yolunu test edin. USB DAC'den anakart sesine, anakart sesinden HDMI/DisplayPort sesine veya bir USB arayüzünden farklı bir bağlantı noktasına/denetleyiciye geçin. Ayrıca, profesyonel ses yazılımı kullanıyorsanız farklı örnekleme hızları ve tampon boyutlarıyla test edin.
Şüpheli grafik ise, temiz bir GPU sürücüsü yeniden yüklemesi veya sürücü geri almayı test edin. Oyun senaryolarında, performans katmanları devre dışı bırakılmış, tarayıcı donanım hızlandırması devre dışı bırakılmış, yakalama yazılımı kapatılmış ve zorlu bir sorunu kovalıyorsanız yalnızca bir ekran bağlı olacak şekilde test edin.
Yerleşik aygıt izolasyonu için Aygıt Yöneticisi (Device Manager) genellikle yeterlidir. Gelişmiş kullanıcılar, yükseltilmiş Komut İstemi'nden pnputil'i de kullanabilir:
pnputil /enum-devices /connected [Bağlı olan tüm Tak ve Çalıştır aygıtlarını ve bunların örnek kimliklerini listeler.]
pnputil /disable-device "<INSTANCE_ID>" [Seçilen aygıtı örnek kimliğini kullanarak devre dışı bırakır.]
pnputil /enable-device "<INSTANCE_ID>" [Seçilen aygıtı örnek kimliğini kullanarak yeniden etkinleştirir.]
pnputil /restart-device "<INSTANCE_ID>" [Desteklendiğinde tam bir sistem yeniden başlatması gerektirmeden seçilen aygıtı yeniden başlatır.]
Ana ekran kartı, önyükleme depolama denetleyicisi veya klavyeniz ve farenizin bağlı olduğu USB denetleyicisi gibi kritik aygıtları nasıl kurtaracağınızı bilmediğiniz sürece rastgele devre dışı bırakmayın. Kritik olmayan aygıtlarla başlayın: Wi-Fi, Bluetooth, ikincil ses aygıtları, web kameraları, yakalama kartları, kart okuyucular ve isteğe bağlı USB denetleyicileri.
Adım 4: LatencyMon Yeterli Değilse WPA/ETW ile Onaylayın
LatencyMon en iyi başlangıç noktasıdır, ancak daha güçlü kanıt istiyorsanız, Microsoft'un Windows Performans Kaydedicisi (WPR) ve Windows Performans Çözümleyicisi (WPA) araçlarına geçmelisiniz.
WPR bir ETW izini kaydeder. WPA, bu izi analiz etmenize ve CPU'ya, modüle, işleve ve zaman aralığına göre DPC/ISR etkinliğini görmenize olanak tanır. Bu, tek bir "en yüksek yürütme süresi" sayısına bakmaktan çok daha güçlüdür.
Araçları yüklemek için Windows ADK'dan Windows Performans Araç Seti'ni yükleyin; bunu aşağıdaki bağlantıdan alabilirsiniz:
https://go.microsoft.com/fwlink/?linkid=2289980
Bu makale için tam dağıtım araç setine ihtiyacınız yok; ilgilendiğiniz bileşen Windows Performans Araç Seti'dir:
Basit bir komut satırı yakalaması şu şekilde görünür:
wpr -profiles [Kullanılabilir WPR kayıt profillerini listeler.]
wpr -start GeneralProfile -filemode [GeneralProfile ön ayarını kullanarak bir ETW yakalaması başlatır ve izi belleğe değil bir dosyaya yazar.]
Sorunu 30 saniye ila birkaç dakika boyunca yeniden üretin, ardından DPC gecikmesi ani yükselişine, ses çıtırtısına, takılmaya veya sistem takılmasına neden olan iş yükünü çalıştırın. Ondan sonra şu komutu çalıştırın:
wpr -stop C:TracesDpcLatency.etl "DPC gecikmesi yeniden üretimi" -skipPdbGen [Yakalamayı durdurur ve ETW izini C:TracesDpcLatency.etl konumuna kaydeder, PDB sembol oluşturmayı atlayarak dışa aktarmayı hızlandırır.]
Yakalamayı kısa tutun. ETW izleri hızla büyüyebilir ve yalnızca sorunun yaşandığı zaman penceresine ihtiyacınız vardır.
Ardından, DpcLatency.etl dosyasını Windows Performans Çözümleyicisi'nde açın. WPA'da, DPC/ISR grafiklerini ekleyin ve süreyi CPU'ya ve modüle/işleve göre gruplandıran ön ayarları kullanın. Burası, belirli bir modülün çok fazla DPC/ISR süresi tükettiğini ve etkinliğin gerçek takılmayla uyumlu olup olmadığını görebileceğiniz yerdir.
Amaç sadece "büyük bir numarası olan bir sürücü" bulmak değildir. Amaç, ani yükselişi sorunla ilişkilendirmektir. Ses çıtırtısı veya kare takılması, belirli bir modülden gelen bir DPC/ISR ani yükselişiyle aynı anda meydana geliyorsa, bu çok daha güçlü bir kanıttır.
Adım 5: Düzeltmeleri Doğru Sırayla Uygulayın
Bir şüpheli bulduktan sonra, en az invaziv olanlardan en invaziv olana doğru düzeltmeleri uygulayın.
Belirli bir sürücü dahilse, önce aygıt veya anakart satıcısından güncelleyin. Yonga seti, USB, ağ, Bluetooth, ses, depolama ve dizüstü bilgisayar platform sürücüleri için, Orijinal Ekipman Üreticisi'nin (OEM) destek sayfası Windows Update'ten daha önemli olabilir.
Bununla birlikte, yeni her zaman daha iyi değildir. Sorun bir sürücü güncellemesinden sonra başladıysa, geri almayı deneyin. Bu özellikle GPU, Wi-Fi, Bluetooth ve ses arayüzü sürücüleri için geçerlidir.
DPC gecikmesi platform davranışı, güç durumları, kesme yönlendirmesi ve firmware düzeyindeki tuhaflıklardan etkilenebilir. Anakartınız veya dizüstü bilgisayarınızda kararlılık, USB, PCIe, güç veya uyumluluk düzeltmeleri içeren daha yeni bir BIOS/UEFI varsa, yüklemeye değer olabilir.
Bu, özellikle OEM'in firmware, ACPI, yerleşik denetleyici mantığı ve satıcı yazılımları aracılığıyla platform davranışının çoğunu kontrol ettiği dizüstü bilgisayarlarda geçerlidir.
USB dahilse, farklı bağlantı noktalarını test edin. Arka anakart bağlantı noktaları genellikle ön panel bağlantı noktalarından veya hub'lardan daha iyi performans gösterir. USB ses arayüzü veya DAC kullanıyorsanız, doğrudan bilgisayara bağlantıyı test edin.
Ayrıca USB güç yönetimini de test edin:
- Aygıt Yöneticisi → Evrensel Seri Veri Yolu denetleyicileri.
- USB Kök Hub / Genel USB Hub girişlerini açın.
- Güç Yönetimi sekmesi.
- Test için "Güç tasarrufu sağlamak için bilgisayarın bu aygıtı kapatmasına izin ver" seçeneğini devre dışı bırakın.
Ayrıca, Windows güç planı ayarlarından USB seçici askıya almayı devre dışı bırakmayı da test edebilirsiniz. Bu ayarın her USB sorununu çözeceğini varsaymayın, ancak usbxhci.sys, ses arayüzleri, DAC'ler, hub'lar veya USB denetleyicileri dahil olduğunda mantıklı bir A/B testi'dir.
LatencyMon, ndis.sys, tcpip.sys veya bir ağ bağdaştırıcısı sürücüsüne işaret ediyorsa, Wi-Fi'yi devre dışı bırakın ve Ethernet ile test edin. Sorun kaybolursa, Wi-Fi sürücüsünü güncelleyin veya geri alın. Ayrıca, sürücünün sunduklarına bağlı olarak güç tasarrufu, paket birleştirme, kesme moderasyonu, dolaşma agresifliği ve enerji verimli Ethernet gibi gelişmiş bağdaştırıcı özelliklerini de test edebilirsiniz.
Her ağ bağdaştırıcısı kartı (NIC) ayarını aynı anda değiştirmeyin. Bir ayarı değiştirin, yeniden test edin ve sonucu belgeleyin.
Sorun oyun oynarken veya GPU yoğun iş yükleri sırasında ortaya çıkıyorsa, temiz bir GPU sürücüsü yüklemesi yapın veya bilinen kararlı eski bir sürücüyü test edin. Test sırasında gereksiz katmanları, izleme kancalarını, kayıt araçlarını, RGB katmanlarını ve tarayıcı donanım hızlandırmasını devre dışı bırakın.
Ayrıca, farklı yenileme hızlarına, HDR durumlarına, VRR davranışlarına veya karma ekran çıkışlarına sahip çoklu monitör kurulumu kullanıyorsanız, tek bir monitör bağlıyken de test edin. GPU sürücüsü ve Windows grafik yığını zaten yeterince karmaşıktır; değişkenleri azaltmak, suçluyu bulmayı çok daha kolay hale getirebilir.
Güç yönetimi ayarlaması, performansı veya hatta enerji verimliliğini en üst düzeye çıkarmada kesinlikle fark yaratabilir, ancak bu aynı zamanda bazı kullanıcıların genellikle fazla ileri gittiği yerdir. Duyarlı bir PC'ye sahip olmak için kalıcı olarak caydırıcı bir "her şey maksimumda" yapılandırması çalıştırmanıza gerek yoktur. Güç davranışını bir teşhis değişkeni olarak test etmelisiniz.
Basit değişikliklerle başlayın:
- Test için Windows Güç Modu'nu En İyi Performans olarak ayarlayın.
- Dengeli planı, Yüksek Performans veya En Yüksek Performans ile test edin.
- Test için USB seçici askıya almayı devre dışı bırakın.
- PCI Express Bağlantı Durumu Güç Yönetimi devre dışıyken test edin.
- Masaüstü bilgisayarlarda, agresif CPU çekirdek park etmeyi devre dışı bırakmanın durumu iyileştirip iyileştirmediğini test edin.
- Dizüstü bilgisayarlarda, takılıyken ve satıcının en yüksek performans modunu kullanırken test edin.
Firmware düzeyinde, CPU C-state'leri, SpeedStep, İşbirlikçi İşlemci Performans Kontrolü (CPPC), Hassas Yükseltme Aşırı Yüklemesi (PBO) davranışı ve diğer boşta/yükseltme özellikleri, özellikle masaüstü bilgisayarlarda test etmeye değer olabilir. Ancak, bu özellikleri devre dışı bırakmak güç tüketimini ve ısı çıkışını artırabilir, bu nedenle evrensel bir çözüm olarak sunmayın. Zorlu durumlar için bir A/B testidir.
Windows 11 sistemlerinde, sisteme ve yapılandırmaya bağlı olarak Bellek Bütünlüğü/HVCI ve VBS etkinleştirilebilir. Bu özellikler güvenliği artırır, ancak aynı zamanda Windows'un çekirdek kod bütünlüğünü nasıl zorladığını da değiştirir ve bazı iş yüklerini veya sürücü yığınlarını etkileyebilir.
Oyun veya içerik oluşturma PC'lerinde açıklanamayan gecikme sorunları için, Bellek Bütünlüğü'nü devre dışı bırakarak test etmek, yeniden başlatmak, aynı LatencyMon/WPA testini yeniden çalıştırmak ve sonuçları karşılaştırmak mantıklıdır. Ölçülebilir bir iyileşme olmazsa, güvenlik avantajını istiyorsanız tekrar etkinleştirin.
Aynı mantık, üçüncü taraf antivirüs, EDR, VPN, anti-hile ve dosya sistemi filtre sürücüleri için de geçerlidir. Sisteminizi savunmasız bırakmayın, ancak özellikle bir güvenlik katmanı yükledikten veya güncelledikten sonra sorunun parçası olup olmadığını test edin.
Çevrimiçi birçok DPC gecikmesi "düzeltme paketi" bulunmaktadır; bunlar zamanlayıcı ayarlarını, Mesaj Sinyalli Kesmeler (MSI) modunu, kesme bağlılığını (interrupt affinity), Yüksek Hassasiyetli Olay Zamanlayıcısı (HPET) davranışını, güç ayarlarını, zamanlayıcı değerlerini ve belirsiz kayıt defteri anahtarlarını değiştirir. Bu değişikliklerden bazıları belirli durumlarda yardımcı olabilir. Birçoğu hiçbir işe yaramaz. Bazıları ise durumu daha da kötüleştirebilir.
Kesme bağlılığı, örneğin, bir aygıt bir CPU'yu zorluyorsa ve WPA DPC/ISR etkinliğinin kötü bir dağılımını net bir şekilde gösteriyorsa faydalı olabilir. Ancak bu, varsayılan bir ayar değil, gelişmiş bir düzeltmedir. Aynı durum, MSI modunu zorlamak veya iş parçacıklı DPC davranışını değiştirmek için de geçerlidir. Bunlar "kur ve unut" optimizasyonları değildir.
Bir kayıt defteri değişikliğinin ne işe yaradığını ve nasıl geri alacağınızı açıklayamazsanız, onu günlük kullandığınız PC'nize uygulamayın.
Linux ve macOS Hakkında Ne Söylenebilir?
Burada cevap nüanslı hale geliyor. Windows, gerçek zamanlı bir işletim sistemi değildir ve bu, son derece öngörülebilir zamanlama gerektiren iş yükleri için önemlidir. Ancak bu, her Linux dağıtımının veya her Mac'in her durumda gecikmeye duyarlı iş yüklerini daha iyi işleyeceği anlamına gelmez.
Linux, özellikle gerçek zamanlı çekirdekler, iş parçacıklı kesmeler, CPU izolasyonu ve dikkatli kesme isteği (IRQ) bağlılığı ayarlaması ile gerçek zamanlı davranış için çok daha agresif bir şekilde ayarlanabilir. Bu, Linux'u belirli profesyonel, gömülü, endüstriyel ve ses iş yükleri için çok cazip kılar. Ancak, rastgele sürücüler ve arka plan hizmetleri çalıştıran normal bir masaüstü Linux dağıtımı hala genel amaçlı bir işletim sistemidir ve hala gecikme ve titremeden (jitter) muzdarip olabilir.
macOS ise, Apple'ın daha sıkı donanım/yazılım entegrasyonu ve Core Audio yığını sayesinde ses dünyasında güçlü bir üne sahiptir. Bununla birlikte, macOS da sürücü, USB, eklenti, depolama veya bellek basıncı sorunlarına karşı sihirli bir şekilde bağışık değildir. Genellikle daha tutarlıdır çünkü Apple platformun daha fazlasını kontrol eder, zamanlama yasalarının artık geçerli olmadığı anlamına gelmez.
Yani, en dürüst cevap şudur: Linux, özellikle yapılandırılmışsa gecikme için daha iyi olabilir, macOS entegre ses yığını ve kontrollü ekosistemi sayesinde çok güçlü olabilir, ancak sürücüler, firmware ve güç yönetimi davranışı düzgün yapılandırıldığında Windows hala çok iyi çalışabilir. Windows'un sorunu DPC'lerin varlığı değil. Sorun, Windows PC ekosisteminin devasa olması ve tek bir kötü sürücü veya firmware yolu, aksi takdirde güçlü bir makinenin gerçek zamanlı davranışını bozabilir.
Son Sözler
Yüksek DPC gecikmesi sihirli bir lanet değildir ve rastgele bir kayıt defteri ayarıyla düzeltmeye çalışmanız gereken bir şey değildir. Genellikle bir sürücü, aygıt, firmware, güç yönetimi, güvenlik katmanı veya sistem belleği basıncı sorunudur ve ses çıtırtıları, sistem donmaları, giriş takılmaları, USB sorunları veya takılmalar olarak ortaya çıkar.
En iyi teşhis iş akışı basittir:
- Önce sistem belleği basıncını ve sayfa hatalarını kontrol edin.
- Sorunlu iş yükü sırasında LatencyMon'u çalıştırın.
- Şüpheli sürücüyü veya donanım/yazılım alt sistemini belirleyin.
- Suçluyu izole etmek için gereksiz aygıtları devre dışı bırakın veya bağlantısını kesin.
- Zorlu durumları WPR/WPA ile onaylayın.
- Tek seferde bir düzeltme uygulayın.
- Aynı senaryoyu kullanarak yeniden test edin.
Bu son nokta en önemlisidir. Sorunu yeniden üretemiyorsanız, ölçemiyorsanız, tek seferde bir şeyi değiştirip sonucu iyileştirdiğinizi kanıtlayamıyorsanız, o zaman hala kök nedeni tahmin ediyorsunuz demektir. PC meraklıları, oyuncular, içerik oluşturucular ve özellikle DAW kullanıcıları için, DPC gecikmesi sorun gidermesi sinyallerin genellikle belirsiz ve suçlunun her zaman açık olmaması nedeniyle sinir bozucu olabilir. Ancak LatencyMon, WPA ve yapılandırılmış bir teşhis süreci ile bu, çok daha az gizemli bir sorun haline gelir.