Oyun Teknolojileri

Web Browser Üzerinde WebGL 2.0 ile Yüksek FPS 3D Rendering Optimize Yöntemleri

Yazar: Emre Can Tarih: 13 Eylül 2026 Okuma Süresi: 6 Dakika

Tarayıcı tabanlı oyun teknolojileri, WebGL ve WebGPU standartlarının gelişmesiyle masaüstü grafik kalitesine yaklaşmaktadır. Yüksek kare hızları (FPS) elde etmek, shader optimizasyonları ve bellek yönetimi stratejilerine dayanır.

1. Draw Call Sayısını Azaltma (Instanced Rendering)

Tarayıcı grafik işlemcisine (GPU) gönderilen her çizim komutu (Draw Call) bir overhead oluşturur. Binlerce benzer nesneyi ekranda göstermek için Instanced Mesh teknikleri kullanılır.

"Web grafiklerinde performans, GPU gücünden ziyade CPU-GPU arasındaki veri aktarım darboğazını doğru yönetmekle ilgilidir."

Örnek Three.js InstancedMesh Tanımlaması

Aşağıdaki JavaScript kodu, tek bir draw call ile 1000 adet 3D küpün sahnede render edilmesini sağlar:

import * as THREE from 'three';

const count = 1000;
const geometry = new THREE.BoxGeometry(1, 1, 1);
const material = new THREE.MeshStandardMaterial({ color: 0xa855f7 });
const instancedMesh = new THREE.InstancedMesh(geometry, material, count);

const dummy = new THREE.Object3D();
for (let i = 0; i < count; i++) {
  dummy.position.set(Math.random() * 40 - 20, Math.random() * 40 - 20, Math.random() * 40 - 20);
  dummy.updateMatrix();
  instancedMesh.setMatrixAt(i, dummy.matrix);
}
scene.add(instancedMesh);

2. WebGL vs WebGPU Karşılaştırması

Yeni nesil WebGPU standardı, donanım kaynaklarına daha alt seviye (low-level) erişim sunarak performans artışı sağlar.

Özellik WebGL 2.0 WebGPU
Mimari Temeli OpenGL ES 3.0 Vulkan / Metal / DirectX 12
Compute Shaders Desteklenmiyor Tam Destek
CPU Overhead Yüksek Çok Düşük

3. Asset Yükleme ve Texture Sıkıştırma

3D modellerin ve kaplamaların hızlı yüklenebilmesi için KTX2 ve Draco sıkıştırma formatları kullanılır.

Sonuç

Doğru grafik kütüphaneleri ve optimizasyon mimarisi ile web ortamında akıcı и yüksek kaliteli oyun deneyimleri oluşturmak mümkündür.