Object pooling nedir, neden kullanılır?

Cevap

Sık oluşturulup yok edilen nesneleri (mermi, parçacık, düşman) her seferinde yeniden oluşturmak yerine önceden oluşturup bir havuzda tutmak ve tekrar kullanmaktır.

  • Instantiate / Destroy maliyetinden ve bellek ayırmadan kaçınılır
  • Çöp toplayıcının (GC) oyunun ortasında takılmalara yol açması önlenir
  • Bellek kullanımı öngörülebilir olur

Nesne "yok edilmek" yerine devre dışı bırakılıp havuza döner; tekrar gerektiğinde durumu sıfırlanıp etkinleştirilir. Unity'de UnityEngine.Pool.ObjectPool<T> hazır olarak gelir.

  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. Entity Component System (ECS) nedir? Klasik nesne yönelimli yapıdan farkı nedir?ZorOyun ProgramlamaGame Dev
  4. Çarpışma tespitinde broad phase ve narrow phase nedir?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