İki çizim yolu
Tarayıcı, ekran kartıyla konuşmak için iki farklı arayüz sunar. Eskisi olan WebGL neredeyse her cihazda çalışır. Yenisi olan WebGPU ise daha az ek yükle daha fazla iş gönderebilir, ancak sürücü desteği ister.
Betrupi tarafında seçim otomatik yapılır. Sekme açıldığında cihazın desteklediği en yüksek yol denenir, başarısız olursa bir alt yola sessizce düşülür. Oyuncu bu geçişi fark etmez; yalnızca kalabalık sahnelerdeki akıcılık farkı olarak hissedilir.
| Ölçüt | WebGL yolu | WebGPU yolu |
|---|---|---|
| Cihaz desteği | Neredeyse tam | Güncel sürücü gerekir |
| Çizim çağrısı yükü | Yüksek | Belirgin düşük |
| Kalabalık sahne | Kare süresi dalgalanır | Kare süresi daha kararlı |
| Hesaplama işleri | Sınırlı | Ayrı hesap hattı var |
| İlk kurulum süresi | Kısa | Biraz daha uzun |
Çizim çağrısı neden önemli
Ekrana çizilen her nesne grubu için işlemci, ekran kartına bir iş emri gönderir. Bu emirlere çizim çağrısı denir. Nesne sayısı değil, çağrı sayısı yükü belirler.
Bir sahnede iki yüz ayrı nesne varsa ve bunların yüz seksen tanesi aynı malzemeyi kullanıyorsa, tek bir çağrıda toplanabilirler. Bu toplama işi motorun yaptığı en görünmez ama en değerli optimizasyondur.
Otomatik ölçekleme
Kare süresi hedefin üzerine çıkmaya başladığında motor kaliteyi kendiliğinden düşürür. Bu düşüş üç kademede ilerler ve her kademe farklı bir kaynağı serbest bırakır.
- Gölge çözünürlüğü yarıya iner; bellek bandı rahatlar.
- Parçacık sayısı sınırlanır; işlemci yükü düşer.
- Çizim çözünürlüğü ölçeklenir; ekran kartı yükü düşer.
Kademeler geri de alınır. Sahne sakinleştiğinde motor kaliteyi aynı sırayla yükseltir. Bu iki yönlü çalışma, uzun oturumlarda kare süresini dar bir bantta tutar.
Otomatik ölçeklemeyi kapatıp tüm ayarları elle sabitlemek, kare hızını yükseltmez; yalnızca düşüş anlarını daha sert hâle getirir. Hangi ayarın neyi değiştirdiğini performans ayarları sayfasında tablo hâlinde listeledik.
Doku belleği ve akış
Dokular sekmenin belleğinde tutulur ve tarayıcı bu belleği işletim sisteminden ister. Bellek baskısı arttığında tarayıcı, en az kullanılan dokuları boşaltır ve gerektiğinde yeniden yükler.
Bu boşaltma anları, oyunda kısa bir takılma olarak hissedilebilir. Açık sekme sayısını azaltmak, bu takılmaları en çok azaltan tek adımdır.
Arayüzün kayma sorunu
Oyun arayüzü de bir web sayfasıdır ve aynı düzen kurallarına tabidir. Bir görselin boyutu önceden bildirilmezse, görsel indiğinde çevresindeki her şey yerinden oynar.
Bu yüzden oyun içi menülerdeki her görsel alanın boyutu önceden ayrılır. Aynı yaklaşım bu sitedeki görsellerde de uygulanır; her görselin genişlik ve yükseklik değeri baştan yazılıdır.