Bu sorun bir kaç yıldır herkesin kafasını karıştıran sorunlardan birisi. Bunun baş suçlusu Microsoft, sonrasında da Nvnida ve AMD başta olmak üzere donanım, üreticileri. En sonda da oyun üreticileri.
Ancak bu konuyu halı altına süpürmek adına hiç kimse resmi bir açıklama yapmıyor. Bunun tabi ki gizli amaçları var. Yıllardır dünyanın her yerinden; güç kaynağı değiştiren, ekran kartını değiştiren, garantiden bilgisayarı yenileyen, hatta aldığı teknoloji marketin önüne gidip parçalayanı bile gördüm. Sonuç olarak bunu biz kullanıcıların çözmesi mümkün değil.
Gelelim sebeplerine:
LOD Bias. Bu bir teknik. Normalde bir oyun yükleme ekranindayken yapılan şeylerden birisi de oyun içinde kullanılacak dokuların küçük hallerinin üretilmesidir. Örneğin 256x256 piksellik bir doku varsa, bunun 128x128, 64x64, 32x32,... ve en son 1x1 piksellik halleri üretilir ve ekran kartı belleginde saklanır. Bu dokuyu kullanan bir cisim, ekranda kaplayacağı yere en yakın olan piksel sayısındaki dokuyu alır ve onu kullanır. Yani diyelim ki cismimiz ekranda 90 90'lık bir bölgede görüntülenecek. Ona en yakın olan değer 64x64 olan değer. 64x64'lük doku, 90x90'a esnetilerek ekranda görüntülenir. Böylece 256x256'lık kocaman asıl dokuyu alıp onu küçültme işleminden kurtulunmuş olur. Buna Level Of Detail, yani LOD deniyor.
Peki işin bias (meyil) kısmı? Az önceki örnekte 64x64, elimizdeki en yakın değer olduğu için onu seçtik. Ancak, "en yakın bir büyük değer", "en yakın bir küçük değer" gibi parametreler ile bu seçimleri değiştirmek mümkün. Örneğin "en yakın 2 büyük değer" seçseydik, 90x90'lık alana uyan en yakın ikinci büyük değer 256x256 olacaktı. Böylece oyundaki bütün dokuları 2 boy yüksek çözünürlüğe zorlamış olacaktım. Görüntü kalitesi atacaktı, ancak görüntü sıkıştırmadan kaynaklı bir performans kaybı ve ufak tefek hatalar (aliasing) görecektim.
DirectX 9'a kadar (9 da dahil) bunun kontrolü ne Windows'taydı ne de oyunlardaydı. Sürücüler LOD özelliklerine karar veriyordu. Biz oyuncular da sürücü ayarlarından kendi LOD seviyemizi seçebiliyorduk. Negatif değerler büyük dokuları tercih ediyordu, pozitif değerler de küçük dokuları. Böylece ekran kartı VRAM'ine ya da oyundaki performans beklentimize göre kendi ayarlarımızı yapabiliyorduk. O zamanın biraz bulanık olan SSAA seçeneklerindeki bulanıklığı azaltmak için de ayar yapma hakkı yine biz oyuncuların elinde oluyordu.
Ancak DirectX 10 ile birlikte, oyun yapımcılarına bu ayarı oyuna göre değiştirme seçeneği tanındı. Böylece, eğer kullanıcı bir ayar yapmamışsa (LOD ayarları otomatik seçeneğinde ise) oyun kendi LOD seviyesini ayarlayabiliyordu.
Sonra işler sarpa sardı. Directx 10.1 ile Nvidia ve AMD, sürücülerinden LOD ayarlarını kaldırdılar. Hatta Nvidia kaldırmamış gibi görünse de LOD butonu gerçekte hiç bir ayar yapmıyordu (Bildiğiniz boş buton koymuştu adamlar ve onlarca insanın tepkili yazılarına bir cevap bile vermediler).
Artık LOD kontrolü oyun yapımcılarında idi. Eğer oyun yapımcısı özel bir LOD değeri belirtmezse de Microsoft kendisi karar veriyordu. DirectX 11'le beraber bunun kontrolü tamamen Microsoft'a geçti. Windows 7'de kullanılan DirectX 11 kütüphaneleri LOD değeri olarak "0" kullanırken Windows 10 negatif değerlere geçmişti. Yani daha yüksek çözünürlüklü dokuları sıkıştırarak görüntülemeye zorluyordu.
Eskiden oyunlarda nesne başına bir tane doku bulunurdu. Artık bir sürü var. Ana dokunun üzerine eklenen "küçük haritalar" var. Bunlar dokunun daha girintili - çıkıntılı, pürüzlü, 3 boyutlu, parlak, mat VS görünmesi için yapılan ek dokular. Ancak bir nesnenin 4-5 tane doku kaplaması olunca VRAM ihtiyacı tavan yaptı. Üstelik Microsoft ve partnerleri 4K'yı hayatımıza sokmak ve yüksek çözünürlüğü özendirmek istiyorlardı.
Oyun yapımcıları da çözümü çakallık yaparak buldu. Asıl dokunun çözünürlüğü yüksek tutulurken bu efekt veren ek dokuların çözünürlükleri düşük tutulmuştu. Bu sefer oyunda bir nesneyi görüntülerken, nesnenin kaplaması bir çözünürlükte, üzerindeki parlaklık efekti başka bir çözünürlükte, pürüz ve 3 boyut efekti başka bir çözünürlükte görüntüleniyordu. Hepsi farklı şekillerde sıkıştırılıp esnetildiği için hatalar (aliasing) da artmıştı. Çünkü her yapılan dönüştürme işleminin hataları olur. Kusursuz dijital çevrim yoktur. 4-5 çevrimi üst üste yaparsanız da hatalar daha çok belirginleşir.
Sonra neyse ki bir üniversitenin çalışmaları sonucu TAA geldi. Temporal Anti Aliasing yönetimi ile çözünürlük, görüntüler arasında geçici olarak 4-8 kata kadar arttırılıyordu. Üstüne de bir Gauss filtresi uygulanıyor ve gerçek hayattaki parlaklık düzeyine en yakın görüntü elde ediliyordu. İlk olarak Skyrim ile kullanılan TAA, hafif bir bulanıklık yaratma pahasına bilinen bütün aliasing sorunlarını yok etmişti.
HDR'ı zorla satma stratejisi başarısız olan Microsoft partnerlerinden yediği fırçaları, 4K monitör satışlarını arttırarak telafi etmek istedi. Bu yüzden LOD ayarlarını tamamen kaldırdı ve artık gelecekte bu tip ayarların oyunlara bırakılmasına razı olmamızı istedi.
Sonuçta bize ne kaldı?
1) Estetik ve teknik konusunda tembel olan oyun yapımcıları, artan bilgisayar donanımı güçlerinin hakkını vermek için oyunlara daha çok ve daha küçük detaylar ekledi. Ağaçların dallarına kadar tek tek yaptılar.
2) MSAA ve SSAA gitti. Yerine FSAA ve post processing anti aliasing seçenekleri geldi. Bu küçük ve ince nesnelerin uzaktan görüntülenmesi hatalarını gideremediler.
3) Yeni aydınlatma, gölge ve parıltı shader'ları Directx 11'le beraber hayatımıza girdi. Ancak bunlar geometrik şekiller olmadıkları için onların yarattığı aliasing problemlerine, çözünürlüğü aşırı yükseltmekten başka çözüm bulunamadı.
4) Yukarıda anlattığım doku sorunları, oyunlardaki artan detaylar ve nesnelerin üzerine tuz biber oldu.
5) TAA geldi ama yarattığı hafif bulanıklık ile pek sevilmedi. Üstelik eski oyunlara eklenme şansı olmadığı için o arada çıkan bütün oyunlar çirkin kaldı.
Geriye kalan tek çözüm: aşırı yüksek çözünürlüklü bir monitor almak oldu. PS 4'ün, Xbox One'ın da 4K ile iddialarını ortaya koymaları, bilinç altımıza "4K artık yeni standart" bilgisini işlemeye çalıştı.
2018'de mining krizi ile bilgisayar satışları dip yapınca ve oyuncular isyan edince Nvidia ve AMD konuya el attılar. Aksi takdirde meydan konsollara kalacaktı. Çözüm olarak TAA içeren oyunlara keskinlik ayarı eklenerek bulanıklık sorunu çözüldü. Ancak geriye dönük oyunlara kimse bir şey yapamadı. Çünkü tek bir müdahale, tek bir basın açıklaması bile Microsoft'a ve partnerleriyle başlayan bu dev komployu açığa çıkarırsa bir çok ülkenin mahkemesi bu konuyu eşeler. O yüzden bu anlattıklarım, benim gibi konuyu yıllarca araştıran insanların bir araya koyabildigi bilgiler ve mantıklı var sayımlardan ibaret.
Özetle; sorunun çözümü sadece yeni nesil oyunlarda var malesef. Eski oyunların tek kurtuluşu FSAA.