Modern oyuncular, yeni bir oyunu ilk kez başlattıklarında, gelişmiş 3D efektlerin kendi donanımlarına göre optimize edilmesini sağlayan "shader derleme" adımı için dakikalarca beklemek zorunda kalıyor. Bu durumu ortadan kaldırmak için Microsoft, "Advanced Shader Delivery" (Gelişmiş Shader Teslimi) adı verilen bir teknoloji üzerinde çalışıyor. Bu yeni sistem, önceden derlenmiş shader koleksiyonları oluşturarak indirilmelerini sağlıyor ve böylece oyuncuların oyun başlama sürelerini önemli ölçüde azaltıyor.
Konsol ortamlarında, geliştiriciler grafik shader'larını optimize edip belirli bir sürücü ve GPU ortamı için önceden derleyebiliyor. Ancak PC'de, geliştiriciler genellikle shader'ları derlenmemiş kod olarak bırakıyor. Bu kodlar, oyuncunun makinesindeki belirli donanım ve sürücülere göre çalışma zamanında derlenip önbelleğe alınıyor. Bu durum, özellikle ilk açılışlarda uzun bekleme sürelerine neden oluyor.
Microsoft'un Gelişmiş Shader Teslimi altyapısı, Windows ekosistemindeki geniş bir sürücü ve GPU matrisinde çalışabilen shader'ları otomatik olarak önceden derleyerek bu sorunu çözmeyi hedefliyor. Bunu sağlamak için geliştiriciler, oyun motoru seviyesindeki oyun varlıklarını temsil eden bir "State Object Database" (SODB - Durum Nesnesi Veritabanı) oluşturmak üzere Microsoft'un Direct3D API'sini kullanıyor. Bu varlık veritabanı daha sonra birden fazla shader derleyicisine beslenerek, farklı donanım satıcılarından gelen çok sayıda ekran adaptörünü destekleyen bir "Precompiled Shader Database" (PSDB - Önceden Derlenmiş Shader Veritabanı) oluşturuluyor.
Bu PSDB, oyunla birlikte indirilebiliyor ve Microsoft'un PC'de "konsol benzeri yükleme süreleri" olarak adlandırdığı bir deneyim sunuyor. Ayrıca, donanım satıcıları bir sürücü güncellemesi kaydettiğinde PSDB otomatik olarak güncellenebiliyor. Bu sayede oyuncular, donanım sürücüleri her değiştiğinde yerel olarak yeniden derlemek yerine, bir yama olarak yeni bir önceden derlenmiş shader indirebiliyor.
Sistemin Yaygınlaşması
Microsoft, Gelişmiş Shader Teslimi'ni ilk olarak geçen Eylül ayında SDK'sına dahil etti. Ekim ayında ise bir kavram kanıtı olarak ROG Xbox Ally desteği eklendi. Microsoft, bu eklemenin "Avowed" gibi oyunlarda başlangıç sürelerini %85'e kadar azalttığını belirtti. Bu, pil ömrü sınırlı el konsolları için büyük bir gelişme.
Gelişmiş Shader Teslimi'nin daha geniş PC oyun ekosisteminde benimsenmesi daha yavaş ilerliyor. Bazı büyük ekran kartı üreticileri, bu teknolojiyi kendi ürünlerine entegre etmek için Microsoft ile yakın çalıştıklarını belirtti. Ayrıca, oyun motoru yapımcılarının da SODB API'lerini entegre etmesi gerekiyor. Bu entegrasyon, oyun geliştiricileri için kurulum sürecini kolaylaştıracak.
Şu an için Microsoft, geliştiricilerin PSDB'leri daha kolay oluşturup test etmelerini ve büyük oyunlarda shader derlemeyi kolaylaştırmalarını sağlayacak API'lerini güncelledi. Şirket ayrıca, geliştiricileri SODB toplama işlemini oyun motorlarına entegre etmeye teşvik ediyor. Bu sayede Mayıs ayından itibaren Xbox Partner Center üzerinden önceden derlenmiş shader'ların yüklenmesi mümkün olacak.
Bu gelişmelerle birlikte, gelecekte Xbox uygulaması üzerinden indirilen bazı PC oyunları, can sıkıcı "shader derleme" yükleme adımlarını atlayabilecek. Ancak Microsoft, bu özelliği kendi PC oyun platformuyla sınırlı tutmayı düşünmüyor. Şirket, gelecekte herhangi bir mağazanın SODB'leri PSDB'lere derleyip dağıtabileceğini belirtti.