Shader Cache: tanımı ve oyun performansını nasıl etkilediği

Silinecek geçici dosyalar arasında birçok kez görmüşsünüzdür. Windows veya DirectX gölgelendirici önbelleği veya Gölgelendirici Önbelleği olarak adlandırılan alan kazanmak için. Ne olduğunu ve oyunları sildiğinizde performanslarının neden düştüğünü hiç merak ettiyseniz, bu makaleyi okumanız yeterli.

GPU'lar, tıpkı CPU'lar gibi işlemcilerdir, ancak paralelliklerinin iş parçacığı odaklı olması bakımından farklıdırlar. Bu nedenle, bir grafik işlemcinin TLP tipinde olduğu, merkezi işlemcinin ise ILP tipinde olduğu söylenir. Buna, grafikteki yürütme dizilerinin süreçlere değil, grafiksel ilkellere veya verilere yönelik olduğunu eklemeliyiz.

Gölgelendirici Önbelleği

Başka bir deyişle, her üçgen, piksel veya parça, 3B ardışık düzenin her aşaması için kendi gölgelendirici programına sahiptir. Üst düzey bir dilde yazılmış, örneğin DirectX'ten bahsediyorsak HLSL veya OpenGL veya Vulkan'dan bahsediyorsak GLSL. SONY'nin PSGL'si gibi belirli sistemlere özel olanlar da olsa PlayStation konsollar. Eh, bu programların derlenmesi ve bu nedenle kaynak koddan ikili koda geçirilmesi gerekiyor.

Shader Önbelleği nedir?

Gölgelendirici Önbellek CoD

Sorun, tümü x86 olan CPU'larda olanın aksine, GPU'lar söz konusu olduğunda, kayıtlar ve talimatlar seti markalar arasında değil, aynı markanın mimarileri arasında da yaygın olmadığında ortaya çıkar. Bu, biz oynarken gölgelendiricilerin kodunun derlenmesi gerektiği ve kekemelik ve performans sorunlarına neden olduğu anlamına gelir. Bu nedenle oluşturulan ikili, oyun yeniden yüklendiğinde, gölgelendirici önbelleği veya gölgelendirici önbelleği olarak bildiğimiz grafik kartının video belleğine yeniden yüklenecek bir dosyada saklanır.

Dolayısıyla, grafik kartımızı güncellersek, sabit diskten veya SSD ilave olarak. Üstelik ilk defa oyun oynarken bir ekran kartını yargılamanın iyi olmamasının nedenlerinden biri de bu. Özellikle düzenli performanslarını ölçmek istiyorsak.

VRAM ayrıca yer kaplar

Önbellek Gölgelendirici Kontrol Paneli NVIDIA

The GPU grafik kartınızın yalnızca sisteme eriştiği RAM PCI Express arabirimi aracılığıyla ve DMA birimini kullanarak, gölgelendirici önbelleği, sahneyi depolama biriminden RAM'e ve RAM'den video belleğine oluşturmak için gerekli görsel bilgilerle birlikte yüklenecektir. DirectStorage ile, grafik donanımının doğrudan SSD'ye erişebilmesi, erişim gecikmesini ve bağlı olma sorununu azaltması beklenir. işlemci.

Birçok oyun iyi gelişmiştir ve gölgelendirici önbelleği az yer kaplar, ancak diğerleri çok fazla değildir ve sonuçta büyük miktarda grafik belleği kaplar. Bu, sürücünün veya oyunun kendisiyle ilişkili bir limite sahipse, aniden yeni derlemelerin eskilerinin yerini aldığını ve ilk performans sorunlarının geri döndüğünü anlıyoruz.

Her durumda, oynadığımız oyun video RAM'inde yer gerektiriyorsa, mevcut karenin oluşturulmasına öncelik vereceğini unutmamalıyız. Bu nedenle, sistem belleğinde depolanan gölgelendirici önbelleğini geçici olarak almaya çalışacaktır. Ayrıca, bir grafik ilkel gölgelendirici oluşturulduktan sonra, tekrar yapılması gerekmeyeceğinden, depolama birimine yapılan dökümlerin sürekli olarak yapıldığını unutmayın.

Işın izleme ve gölgelendirici önbelleği

Işın izlemede GPU'ya en sık sorulan soru Boole türündendir. Bu ışın bu grafiği ilkel olarak kesiyor mu? Cevap her zaman evet değildir ve bu nedenle şartlara bağlı olarak gerçekleşecek veya olmayacak bir durum vardır. Bu nedenle, bu gölgelendiriciyi ilk kez çalıştırırken, olası tüm sonuçlar için önbellek gölgelendiricisini derlemek ve oluşturmak gerekli olacaktır.

Konsollarda Shader Önbelleği

XSX, XSS, PS5 Konsolları

Bir video oyun konsolu, fabrikadan çıkan ilk modelden son modele kadar her zaman aynı bileşenlere sahip olacaktır. Aradan yıllar geçmesine rağmen özellikleri değişmeyecek. Örneğin günümüzde en eski grafik kartından daha eski modelleri bulabilirsiniz. Donanım değişmezliğinden yararlanmanın bir yolu, oyun kurulumunda önceden derlenmiş sözde gölgelendiricileri kullanmaktır. Bu, her oyun için bir gölgelendirici önbelleği oluşturmayı gereksiz kılar, ancak aynı zamanda iki ucu keskin bir kılıçtır.

Örneğin, daha güçlü ve geriye dönük uyumlu bir konsol yapmak istiyorsanız, aşağıdaki seçeneklere sahipsiniz:

  • ISA'yı yeni sistemin GPU'suna aktarın ve eski sistemin bir üst kümesi olarak çalışmasını sağlayın. AMD'nin GCN için tasarlanmış önceki nesil oyunları sorunsuz bir şekilde çalıştırmak için RDNA 5 mimarisine sahip PlayStation 2 ve Xbox Serisinde yaptığı şey budur.
  • Önceki sistemin tüm grafik devrelerini yeni sisteme entegre edin. Bu, Nintendo'nun ikinci PlayStation'ı ve üçüncünün bazı modelleriyle 3DS ve SONY'ye kadar konsollarında yaptığı bir şey.

Öykünücü düzeyinde, çoğu durumda yapılan şey, önceden derlenmiş gölgelendiricileri almak ve grafik kartınızla çalışmak üzere oluşturulan bir Gölgelendirici Önbelleği oluşturabilen bir ara kod oluşturarak ters işlemi yapmaktır. Ancak bu kesin bir bilim değildir ve oyunları çalıştırırken bazı grafiksel hatalarla karşılaşabilirsiniz.

GPU üreticileri için optimizasyonlar

Lovelace Hopper Organizasyonu

Her ikisi de NVIDIA ve AMD genellikle çoğu kesim için en son sürücülerdeki optimizasyonları içerir-kenar oyunlar. Bunlar yalnızca daha yüksek performans için en uygun ayarları değil, aynı zamanda her oyun için zaten optimize edilmiş gölgelendirici önbelleğini ve temel oyundan daha iyi özellikleri içerir. Ve her iki üretici de, bugün var olan en güçlü oyunda mümkün olan maksimum performansa sahip en gelişmiş grafik kartlarıyla ilgileniyor.

Dolayısıyla bunlar, belirli grafik mimarileri için gölgelendirici programlarını optimize eden ve temel oyunla birlikte gelenden daha iyi çalışan bir gölgelendirici önbelleği oluşturan farklı geliştirme stüdyolarına para bırakır. Bu, yeni modellerin satın alınmasını teşvik etmek ve endüstriyi ayakta tutan bir tüketim akışının olması için gerekli olan bir program eskimesi yaratmak için yapılır. Bu nedenle, önceki taksitlerinde neredeyse hiç görsel değişiklik olmayan birçok oyun daha kötü performansa sahip oluyor.