Shader'lar, render işleminin bir parçası olarak GPU'nuzda çalışan küçük programlardır. 3D modellerin geometrisini dönüştürmekten doku, ışıklandırma, gölge ve son işlem efektleri uygulamaya kadar her şeyi hallederler. Modern oyunlar için temel öneme sahiptirler ve bu oyunların bu kadar etkileyici görünmesinin nedenlerinden biridir.
Ancak her zaman böyle değildi. İlk grafik kartları, doku ve ışıklandırma gibi görevlere ayrılmış ayrı birimlere sahip sabit işlevli donanımlara dayanıyordu. Bu birimler zamanında güçlü olsalar da, aynı zamanda katıydılar. Oyunlar daha karmaşık ve görsel açıdan daha iddialı hale geldikçe, sabit donanım hem görsel efektleri hem de yaratıcı özgürlüğü sınırladı. Programlanabilir gölgelendiriciler bu sınırları ortadan kaldırdı.
En eski yaygın olarak kullanılan gölgelendiriciler piksel gölgelendiricilerdi. Bunlar, ekrandaki her pikselin nihai rengini belirler ve aydınlatma hesaplamaları, gölgeler, dokular, şeffaflık ve bulanıklık veya cel gölgelendirme gibi son işlem efektlerini işleyebilir. Vertex gölgelendiriciler kısa süre sonra ortaya çıktı ve geliştiricilerin geometri işlenmeden önce konum, renk ve doku koordinatları gibi vertex verilerini manipüle etmelerine olanak tanıdı.
Daha sonra, grafik boru hattında anında geometri oluşturabilen ve değiştirebilen geometri gölgelendiriciler ortaya çıktı. Performans maliyetleri nedeniyle günümüzde çok fazla kullanılmasa da, prosedürel geometri ve parçacık efektleri gibi efektleri mümkün kıldılar. Tessellation gölgelendiriciler, geometrik detayları dinamik olarak artırarak bu fikri temel aldı ve daha fazla model verisi depolamadan yüzeylerin daha pürüzsüz görünmesini sağladı.
Daha yakın zamanda, modern API'ler görev ve ağ gölgelendiricileri getirmiştir. Bunlar, geleneksel köşe, geometri ve mozaikleme aşamalarının bir kısmını, geliştiricilere geometrinin nasıl oluşturulduğu ve işlendiği üzerinde daha fazla kontrol sağlayan daha esnek bir sistemle değiştirmiştir.
Işın izleme gölgelendiricileri en yeni eklentilerdir. Bunlar, sahnedeki ışık ışınlarının yollarını izleyerek yansımalar, gölgeler ve genel aydınlatma gibi efektler için kullanılır. DirectX Raytracing ve Vulkan tarafından desteklenirler ve oynanabilir performans seviyelerinde çalışmak için nispeten modern grafik kartları gerektirirler.
Shaderlar buysa, neden ön yüklemeleri bu kadar uzun sürüyor ve ön yükleme aslında ne anlama geliyor?
Bu terim biraz yanıltıcıdır. Pratikte, gölgelendirici ön yükleme, gölgelendiricileri sadece yüklemek yerine derlemek ve önbelleğe almak anlamına gelir. Oyun geliştiricileri, siz oynarken gölgelendiricileri anında derleyebilir veya oyun başlamadan önce önceden derleyebilir.
Oyun sırasında gölgelendiricileri derlemek basit durumlarda işe yarayabilir, ancak yeni efektler veya alanlarla karşılaşıldığında genellikle gecikmelere ve takılmalara neden olur. Birçok gölgelendiricinin aynı anda derlenmesi gerekiyorsa, kare süreleri ciddi şekilde artabilir, bu nedenle bu yaklaşım açık dünya oyunlarında çok belirgindir. Aşırı miktarda anlık derleme genellikle PC optimizasyonunun yetersiz olduğunun bir işaretidir.
Shader'ları önceden yüklemek, bunları önceden derleyip sonuçları önbellekte saklayarak bu sorunu ortadan kaldırır. Derlendikten sonra, shader'lar oyun sırasında anında yeniden kullanılabilir ve bu da daha akıcı bir performans sağlar. Bunun dezavantajı, oyunu ilk kez çalıştırdığınızda shader derleme adımını beklemeniz gerekmesidir.
Bu bekleme süresi, büyük bir oyun güncellemesi veya grafik sürücüsü güncellemesinden sonra geri dönebilir, çünkü gölgelendirici ikili dosyaları hem oyun sürümü hem de GPU sürücüsüyle yakından bağlantılıdır. Grafik sürücüleri sık sık güncellendiğinden, gölgelendiricinin yeniden derlenmesi PC oyuncuları için tanıdık bir sıkıntı haline gelir.
Geliştiriciler neden önceden derlenmiş gölgelendiricileri gönderemiyorlar? Sevgili PC'lerimizde, donanım ve sürücü ortamı çok çeşitlidir. Gölgelendirici derlemesi GPU mimarisine, sürücü sürümüne ve grafik API'sine bağlıdır, bu nedenle bir sistemde çalışan derlenmiş bir gölgelendirici başka bir sistemde çalışmayacaktır. Konsollar sabit platformlar oldukları için bu sorunu yaşamazlar, ancak PC'ler öyle değildir.
Bir dahaki sefere gölgelendirici ön yükleme ekranına bakarken, bunun oyuna başladığınızda takılmayı azaltmak ve performansı artırmak için olduğunu unutmayın. Bu, iyiye yönelik bir güçtür.
JOIN OUR OFFICIAL CORSAIR COMMUNITIES
Join our official CORSAIR Communities! Whether you're new or old to PC Building, have questions about our products, or want to chat the latest PC, tech, and gaming trends, our community is the place for you.