İçeriğe atla
Giriş Adımları
Mimari · Katman 01

Görüntü Katmanı: Tarayıcı Ekran Kartıyla Nasıl Konuşuyor

Oyunun gördüğünüz kısmı, mimarinin en alt katmanında üretilir. Bu katmanın işi tek cümleyle özetlenebilir: saniyede altmış kez, on altı milisaniyeden kısa sürede bir kare üretmek. Nasıl ürettiği ise cihazınıza göre değişir.

Hedef kare süresi
16,7 ms
Çizim yolu
WebGL / WebGPU
Ölçekleme kademesi
3
Geri düşüş
Otomatik

İ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.

İki çizim yolunun pratik farkları
ÖlçütWebGL yoluWebGPU yolu
Cihaz desteğiNeredeyse tamGüncel sürücü gerekir
Çizim çağrısı yüküYüksekBelirgin düşük
Kalabalık sahneKare süresi dalgalanırKare süresi daha kararlı
Hesaplama işleriSınırlıAyrı hesap hattı var
İlk kurulum süresiKısaBiraz 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.

Ayrı çizim çağrılarının tek bir toplu çağrıda birleştirilmesini gösteren şema
11 · Aynı malzemeyi paylaşan nesneler tek bir çağrıda toplandığında işlemci yükü düşer.

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.

  1. Gölge çözünürlüğü yarıya iner; bellek bandı rahatlar.
  2. Parçacık sayısı sınırlanır; işlemci yükü düşer.
  3. Ç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.

Ayar önerisi

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.