Takılma neden var
Oyunlar shader'ları taşınabilir ara kod olarak dağıtır — DXIL gibi bir baytkod — çünkü PC dünyası üç üreticiden ve on yıllık nesilden oluşan bir hayvanat bahçesidir; herhangi bir GPU'nun makine dili olarak değil. Oyun belirli bir pipeline durumunu ilk kez istediğinde — vertex, pixel ve geometry shader'ların, blend modlarının ve render target formatlarının belirli bir kombinasyonu — grafik sürücüsü tam o kombinasyonu, kartının anladığı yerel koda derler. Derleme CPU'da, genellikle tek iş parçacığında yürür; ona ihtiyaç duyan kare ise bekler. Görünür sonuç, oyuncuların shader takılması dediği, saniyenin kesri uzunluğunda bir donmadır.
Konsollar bu sorunu tek ve sabit bir platform olmalarıyla aşar: geliştirici her shader'ı tam o GPU için derler ve sonucu diske koyar. PC geliştiricileri ise ön derleme ekranına — “18.207 shader'dan 4.312'si derleniyor” ilerleme çubuğuna — en ağır işi baştan ve topluca halleden bu ekrana ve derlenen her pipeline'ı diske kaydeden pipeline durumu (PSO) önbelleklerine yaslanır. İkisi de olmayan oyunlar, saatlerce takılan oyunlardır.
Seni kurtaran önbellekler — ve onları bozan temizlik
Acıyı iki önbellek katmanı emer: oyunun kendi PSO önbelleği ve sürücünün shader önbelleği — NVIDIA, AMD ve Intel, derlenmiş shader'ları AppData içindeki DXCache veya GLCache gibi klasörlerde tutar. Bu klasörleri silen agresif sistem temizliği, sabrınla çoktan ödediğin her takılmayı sessizce geri getirir.
- Ön derleme ekranını sonuna kadar bekle: o ilerleme çubuğu, geliştiricinin senin yerine, topluca ve oyundan önce takılmasıdır
- Sürücünün shader önbelleklerine dokunma — %LOCALAPPDATA% altındaki NVIDIA DXCache, AMD DxCache ve Intel klasörleri ikinci karşılaşmaların anında yüklenmesi için vardır; onları silmek ilk karşılaşma takılmalarını geri getirir
- Büyük bir çıkıştan önce GPU sürücünü güncelle, sırasında değil: yeni sürücü çoğu zaman yeni bir derleyici sürümü getirir ve eldeki önbelleğin tamamını geçersiz kılar
- İlk saatin en kötü olmasını bekle: her yeni seviye, silah veya hava efekti henüz kimsenin derlemediği pipeline'ları tetikler; önbellek dolar ve takılmalar erir
- Oyun booster'larına ve süreç kapatıcılara burada güvenme — derleme tek iş parçacıklı bir CPU işidir ve boşa çıkan RAM bunu hiç değiştirmez
- Bir oyunda ön derleme de PSO önbelleği de yoksa, bu geliştiricinin kararıdır, PC'nin suçu değil — Windows'u yeniden kurmak değil, hata raporu yazmak gerekir
Ne işe yaramaz
Shader takılması etrafındaki popüler öğütlerin çoğu yanlış hastalığı tedavi eder. Ayarları düşürmek yardımcı olmaz, çünkü aynı pipeline'lar yine derlenmek zorundadır — sadece sonrasında ekrana dökülmeleri ucuzlar. Shader önbelleğini temizlemek bir “çözüm” olarak, yerel önbelleği olan her oyunda işleri düpedüz kötüleştirir; tek meşru durum hariç: oyunu açılışta çökerten bozuk bir önbellek — oyunun kendi temizleme seçeneği de zaten bunun içindir. Kare üretimi de derleme takılmalarını gizleyemez, çünkü ara kareler durdurulan kareden üretilir. Dürüst cevap, sabır artı bozulmamış önbellektir: oyuna bir kez ısınma şansı ver, sürücü önbelleğini yerinde bırak; ikinci turda sorun büyük ölçüde ortadan kalkar.
Sorular ve yanıtlar
Yeni çıkan oyunlar neden üst düzey bir PC'de takılıyor?
İlk karşılaşmada shader derlemesi: sürücü shader'ları tam senin GPU'na çevirirken kare beklemektedir. Oyunun ve sürücünün önbellekleri doldukça kaybolur.
Shader önbelleğini temizlemek FPS'yi artırır mı?
Hayır — çoktan oturup geçirdiğin derleme takılmalarını geri getirir. Sadece önbellek bozuksa ve oyunu çökertiyorsa temizle, ve bunun için oyunun kendi seçeneğini tercih et.
Satın almadan önce lisans kapsamını öğrenin.
Tek seferlik 30 dakikalık deneme temel araçları kapsar. PRO özellikleri ücretli lisans etkinleştirilene kadar kilitlidir.
Bunları da okuyun
Bize yazın: [email protected]