Yeni bir motora geçiş uzun ve karmaşık bir işlemdi çünkü iki ana hedefimiz vardı: Grafikleri hem iyileştirmek hem de optimize etmek. 1.0 ile grafik iyileştirmeleri hemen fark edeceksiniz ve bilgisayarınıza nasıl bir yük getireceğini düşüneceksiniz. Çok çalışma ve azimle minimum ve tavsiye edilen sistem gereksinimlerini değişmeden korumayı başardık.
Bu ne anlama geliyor? Eğer eski bir bilgisayarda (oyun on yıllık bilgisayarlarda oynandı) oynuyorsanız, korkmayın, iyileştirilmiş grafiklerden yine de faydalanabileceksiniz. Bilgisayarınızdan en yüksek verimi almak için oyunu başlatırken otomatik tanıma özelliğini çalıştırdığınızdan emin olun, buna daha sonra değineceğiz…
Aynı Sistem Gereksinimlerini Korumayı Nasıl Başardınız?
Artık tüm bu ağır harmanlamayı önceden hesaplayıp Sanal Doku olarak kaydedebiliyoruz, önceden yükleyip sadece gerektiğinde gösterebiliyoruz. Ayrıca, artık mozaikleme aşamasında malzeme harmanlaması yapmamız gerekmiyor. Böylece mozaiklemeyi (birbirine yakın yerleştirilmiş şekillerin düzenlenmesi) ciddi bir performans düşüşü olmadan kullanıyoruz.
NASIL ÇALIŞIYOR?
Arazinin kendisi çok sayıda malzemeden oluşan son derece karmaşık bir maddedir: Çimen, kum, taş… aklınıza ne gelirse. En karmaşık durumlarda her karede her piksel için sekiz malzemeyi harmanlıyoruz ki GPU’nuza ciddi yük bindiriyor. Daha önce arazi her karede çiziliyordu.
Eskiden suda yansımaları oluşturmak için “kaba kuvvet” yaklaşımı kullanıyorduk ve görüntü çizimini yansımanın yönünden tekrarlıyorduk. Bugün bu verimli bir yöntem mi? Hayır, pek değil. Yeni grafik motoru bize bunu Ekran Alanı Yansımaları ile iyileştirmemizi sağlıyor.
NASIL ÇALIŞIYOR?
Ekran Alanı Yansımalarını önceden hesaplanmış yansıma verileri saklayan Iraklık düzeltmeli yansıma sondaları ile birleştiriyoruz. Bu yeni yaklaşımın ek bir faydası da daha önce basitleştirilmiş yansımalar yaparken artık tam olarak gördüğümüzü yansıttığımızdan suya doğruluk ekliyor.
Gölgeler kaynak açısından en ağır grafik seçenek olarak bilinir. Bizim için değil! Performansa ek yük bindirmemek için Sanal Dokulara benzer bir yaklaşım kullanıyoruz.
NASIL ÇALIŞIYOR?
Gölgelerin çoğu harita ilk yüklenirken hesaplanır ve sadece seviye değiştiğinde yeniden hesaplanır. Bu performansta müthiş bir artış sunuyor ve düşük seviye donanımda bile doğru aydınlatılmış cisimlere imkân sağlıyor.
Arabirim de performans ve bellek kullanımındaki yükü azaltmak için büyük bir optimizasyondan geçti.
NASIL ÇALIŞIYOR?
Işık geçirmeyen arabirim ögeleri (mini harita ve hasar paneli) tarafından kapanan 3B görüntü artık çizilmiyor, bu da GPU performansından tasarruf sağlıyor.
İşte bazı basit ipuçları:
FPS’nizi artırmak için mini haritayı büyütüp ışık geçirmez hale getirin.
Işık geçirmez arabirim altındaki oyun alanlarının boyutunu artırmayı deneyin. Bazı durumlarda, PC kurulumunuza bağlı olarak size daha yüksek kare sayısı sağlayabilir.
İstemci tarafı palet fiziği eskiden palet üçgeninin köşesi başına hesaplanıyordu. Gelin bunu rakama dökelim; sırf hesaplama sayısı 10.000’den fazla arttı. Ve bu sadece tek bir tank paleti için. Tabii ki verimli olmaktan çok uzaktı.
NE DEĞİŞTİ?
Artık palet hareketi palet parçası başına (ortalama tank paleti başına ~100 hesaplama) hesaplanıyor. Bu optimizasyon performansı artırırken görsel kaliteyi etkilemiyor. GPU yükünü azaltırken paletlerin daha doğal ve gerçekçi hareket göstermesini sağlıyor.
1.0 Güncellemesi ağaçlar için geliştirilmiş pano sistemi ekliyor.
NASIL ÇALIŞIYOR?
Ağaçlar derinlik ve ışıklandırma verisi dahil tüm bilgileri ile panolara (dokuları olan düz dikdörtgenler) yansıtılıyor. Bu sayede ağaçları izleyiciye çok daha yakında panoya çevirebiliyoruz (ve siz de en ufak bir fark görmeyeceksiniz!).
Detay seviyesi kameranızın bir cisme uzaklığı ve ayarlarınıza göre değiştirilir. Cisme ne kadar yakınsanız o kadar detaylı görünür. Uzaklaştığınızda tam tersi gerçekleşir. Benzer şekilde, eğer görülemiyorsa bir duvardaki her çatlağı detaylı şekilde çizmenin anlamı yok.
NE DEĞİŞTİ?
Yeni motora geçişle birlikte değişiklik çok kısa bir süre içerisinde mümkün olduğunca yumuşak şekilde gerçekleşiyor, böylece farklı detay seviyeleri arasında sarsıcı geçişler yaşanmıyor. Üstelik bu kusursuz geçiş ek kaynak gerektirmiyor.
Tüm bunları standart çizimle yapmak için sıfır (en iyi kalite) detay seviyesinin kullanımını bırakmak zorunda kaldık. Bu ve bir sonraki ayar arasındaki kalite farkı pratik olarak fark edilemeyecek seviyede ancak bu karar bize minimum sistem gereksinimlerini aynı tutma imkânı sağladı.
Aynı anda gerçekleşen birkaç patlamanın FPS düşmesi ve hatta daha kötüsü donmaya yol açtığını hatırlıyor musunuz? Parçacık çok çözünürlüklü çizim ekleyerek bunun tekrar olmamasını sağladık.
NASIL ÇALIŞIYOR?
Artık birkaç patlama olduğunda yüksek çözünürlüklü efektler sadece kenarlarda gösteriliyor ve iç kısmı daha düşük çözünürlükte çiziliyor. Bu değişim pratik olarak fark edilemez ancak kritik anlarda müthiş performans tasarrufu sağlıyor.
Kendi gözlerinizle görmek ister misiniz? EnCore programı ile kendiniz görün. Bununla sisteminizde 1.0 Güncellemesinin nasıl çalışacağını deneyebilirsiniz.