Mobil oyunlarda performans optimizasyonu için nelere dikkat edersiniz?

Cevap

Mobilde sınırlayıcı faktörler GPU fill rate, bellek bant genişliği, termal throttling ve bataryadır. Masaüstünde sorun olmayan bir sahne, telefonda birkaç dakika sonra ısınma nedeniyle FPS kaybedebilir. Bu yüzden hedef cihaz yelpazesinin en zayıfında, uzun süreli test yapılır.

GPU

  • Overdraw'ı azaltın: Büyük şeffaf UI ve particle'lar en büyük düşmandır.
  • Çözünürlük: Render scale'i düşürmek (ör. 0.8) çoğu zaman en büyük kazancı sağlar.
  • Shader basitliği: Mobil shader'lar, half precision, az texture sample.
  • Post-processing: Bloom, SSAO ve full-screen efektleri minimumda tutun.
  • Texture'lar: ASTC sıkıştırma, mipmap, atlas.
  • Tile-based GPU'larda gereksiz render target geçişlerinden ve MSAA dışı ek pass'lerden kaçının.

CPU

  • Draw call ve SetPass sayısını azaltın (SRP Batcher, GPU instancing, static batching).
  • GC allocation'ı sıfıra yakın tutun; pooling kullanın.
  • Fizik: Basit collider'lar, daha düşük fixed timestep frekansı, gereksiz Rigidbody'lerden kaçınma.
  • Uzaktaki AI ve animasyonları daha seyrek güncelleyin (update throttling).

Bellek, boyut ve batarya

  • Uygulama boyutu ve RAM bütçesi (düşük segment cihazlar 2–3 GB RAM'e sahip olabilir).
  • Hedef FPS'yi bilinçli seçin: Her oyun 60 FPS gerektirmez; 30 FPS bataryayı ve ısınmayı ciddi azaltır. Application.targetFrameRate ayarlanmalıdır.
  • Menülerde FPS'yi düşürmek (ör. Unity'de OnDemandRendering).

Ölçüm

Unity Profiler, Xcode Instruments, Android GPU Inspector, Snapdragon Profiler ve Arm Performance Studio ile ölçüm yapın; cihaz kalite kademeleri (low/medium/high) tanımlayıp otomatik seçin.

  1. Oyun döngüsü (game loop) nedir? Sabit ve değişken zaman adımı arasındaki fark nedir?OrtaOyun ProgramlamaGame Dev
  2. Delta time nedir, neden kullanılır?KolayOyun ProgramlamaGame Dev
  3. Object pooling nedir, neden kullanılır?OrtaOyun ProgramlamaGame Dev
  4. Entity Component System (ECS) nedir? Klasik nesne yönelimli yapıdan farkı nedir?ZorOyun ProgramlamaGame Dev
  5. Çarpışma tespitinde broad phase ve narrow phase nedir?ZorOyun ProgramlamaGame Dev
  6. Multiplayer oyunlarda server authority, client-side prediction ve lag compensation nasıl çalışır?ZorOyun ProgramlamaGame Dev

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle