Bazı oyunlarda, bilgisayarınız ne kadar güçlü olursa olsun veya hangi ayarları seçerseniz seçin, meydana gelen bir tür takılma vardır. Bu, “gölgelendirici derlemesi” olarak bilinen bir işlemden kaynaklanır ve bilgisayar oyunlarında büyüyen bir sorundur.
Gölgelendiriciler Nedir?
Gölgelendiriciler, işlenmiş grafiklerin çeşitli yönlerini belirlemeye yardımcı olan bilgisayar programlarıdır. Örneğin piksel gölgelendiriciler, bir pikselin niteliklerini hesaplar. Bu, o pikselin rengini, parlaklığını, yansıtma özelliğini veya şeffaflığını içerir. Oyununuzdaki bir şeyin ıslak görünmesini istiyorsanız, bu görünümü elde etmek için elle özenle yapmak yerine özel bir gölgelendirici kullanırsınız.
Gölgelendiriciler, modern GPU’ları bu kadar esnek yapan şeydir çünkü bu GPU’lar, gölgelendirici programlama dilinde ifade edilebilecek her şeyi çalıştırmak üzere tasarlanmıştır . Bir GPU’nun yapabileceği grafik matematik türlerinin silikonuna fiziksel olarak bağlandığı eski “sabit işlevli ardışık düzen” GPU teknolojisinin yerini alıyorlar.
Shader Derlemesi Nedir?
“ Derleme ”, kodun bir insan programcı tarafından yazıldığı şekliyle alınması ve söz konusu yazılımı çalıştırması amaçlanan belirli işlemcinin anlayabileceği makine koduna çevrilmesi anlamına gelen bir bilgisayar terimidir. Örneğin, kodunuzu bir Intel CPU veya Apple Silicon üzerinde çalışacak şekilde derleyebilirsiniz .
Aynı şey bir GPU için de gereklidir. Gölgelendirici kodu, söz konusu belirli GPU markası ve modelinde çalışacak şekilde derlenmelidir. GPU’yu değiştirirseniz, sürücülerini güncellerseniz veya oyun bir güncelleme alırsa, gölgelendiricilerin yeniden derlenmesi gerekir.
Neden Bazı PC Oyunlarında Shader Derlemesinde Kekemelik Var?
Bazı oyunlarda, gölgelendiricilerin arka planda derlenmesi oyunun kendisine müdahale ederek görünür bir takılmaya neden olur. Bilgisayar, oyunu sorunsuz çalıştırmak için gölgelendiricileri derlemek için çok çalışıyor. Bazı geliştiriciler, oyun performansı üzerinde çok az etkisi olacak veya hiç etkisi olmayacak şekilde derlemeyi optimize etmeye çalışırken, diğerleri aksamanın kısa ömürlü olacağını umarak gölgelendirici derlemesini oyunun tamamına yayar. Bu durumda, takılmalarla yalnızca yeni bir seviyenin başlangıcında veya o ana kadar gerekli olmayan gölgelendiricilerin kullanıldığı yeni bir ortama girdiğinizde karşılaşırsınız.
Derleme takılmaları, yaygın ve popüler bir oyun motoru olan Unreal Engine 4 oyunlarında özellikle korkunç olmuştur. Özellikle, bu takılmalar DirectX 12 altında bir oyun çalıştırırken bir sorun haline geliyor . Bunun nedeni kısmen, DirectX 12’nin gölgelendirici derlemesinin çalışma şeklini değiştirerek geliştiricilerin ellerine daha fazla kontrol vermesidir. Ancak bu aynı zamanda, geliştiricilerin DirectX’in en son ve en iyi sürümünü kullanan gölgelendirici derlemesini optimize etmenin en iyi yoluna sahip olamayabileceği anlamına da gelir.
Neden Konsollarda Shader Derleme Kekemeliği Yok?
Gölgelendirici derleme kekemeliği, PS5 ve Xbox Series X|S gibi konsollarda tamamen bulunmayan bir sorundur . Bunun nedeni, geliştiricilerin tüm gölgelendiricileri önceden derleyebilmeleri için her konsolun içinde hangi donanımın olduğunu tam olarak bilmeleridir; hangi GPU’yu hedeflediğinizi zaten bildiğiniz için bunları yerel sistemde derlemenize gerek yoktur.
Bunu PC’de yapmak mümkün ama çok fazla GPU ve sistem konfigürasyonu olduğu için pratik olmaz. Bununla birlikte, Valve Steam Deck söz konusu olduğunda , Valve bazı oyunlarda önceden derlenmiş bir gölgelendirici önbelleği içerir çünkü elbette tüm Steam Desteleri aynı GPU’ya sahiptir.
Derleme Kekemeliği Hakkında Ne Yapabilirsiniz?
Ne yazık ki çoğu zaman geliştiriciler gölgelendirici derleme sorunlarını çözmek zorunda kalıyor. İyi haber şu ki, sonunda süreci ele alacaklar. Unreal Engine 5.1 , performans üzerindeki etkisi çok şiddetli olmadan önbelleğe alma konusunda geliştiricilere yardımcı olacak otomatikleştirilmiş bir özellik içerebilir .
Kekemeliği azaltmak için yapabileceğiniz şeylerin listesi uzun değildir, ancak bu seçeneklerden bazıları yardımcı olabilir:
- Bir oyun, gölgelendiricileri önceden derlemenize izin veriyorsa, izin verin. Bu biraz zaman alabilir, ancak oyun deneyiminde takılma olmayacaktır.
- Bir oyun güncellemesi gölgelendirici kekemeliği düzeltmesi içermiyorsa, oynamayı bitirene kadar bekleyin, aksi takdirde gölgelendiriciler yeniden derlenebilir.
- Derlemeyi tekrar tetikleme ihtimaline karşı, mevcut oyununuzu bitirene kadar GPU sürücü güncellemelerine ara verin.
- Bir oyunda derleme kekemeliği başladığında, duraklat düğmesine basın ve daha fazla oynamadan önce bitmesini bekleyin.
- Bir oyunun DirectX 12 sürümü yerine DirectX 11’i kullanın. DX12 özelliklerinden vazgeçecek olsanız da genellikle shader takılmaları azalır veya yoktur.
- Bunun yerine oyunu bir konsolda oynayın.
Zamanla bu sorun muhtemelen ortadan kalkacak veya çok daha az müdahaleci hale gelecektir. Örneğin, geliştiriciler gölgelendirici derlemesini oyunun ihtiyaç duymadığı CPU çekirdeklerine yükleyebilir, bu çok çekirdeğe sahip modern bilgisayarlarda yaygın bir durumdur. O zamana kadar, #stuttermücadele PC oyunlarında sinir bozucu bir sorun olmaya devam edecek.