Merhaba geliştirici dostlar! Unity projelerinizde frame rate düşüşleri yaşamak hepimizin ortak derdi. Performans optimizasyonunda en kritik noktalardan ikisi, `draw call`'ların yönetimi ve gereksiz render işlemlerinin engellenmesidir. Özellikle mobil veya düşük donanımlı platformları hedefleyen oyunlarda, `CPU bound` veya `GPU bound` darboğazlarını aşmak için `Static Batching`, `Dynamic Batching` ve `SRP Batcher` gibi teknikleri etkin kullanmak hayati önem taşır. Doğru `material` ve `shader` konfigürasyonları ile `instancing` potansiyelini maksimize etmek, binlerce objenin dahi akıcı bir şekilde render edilmesini sağlayabilir.
Öte yandan, sahnenizdeki objelerin her kareden render edilmesini engellemek için `Occlusion Culling` muazzam bir araçtır. `Frustum Culling`'den farklı olarak, `Occlusion Culling` kamera görüş alanında olup ancak başka bir obje tarafından gizlenmiş modellerin tamamen render pipeline'ına girmesini engeller. Doğru `occluder` ve `occludee` ayarlamaları, bake edilmiş `occlusion data` ile birlikte hem CPU'daki `render thread` yükünü azaltır hem de GPU'daki `overdraw` sorununu minimize eder. Peki, siz Unity projelerinizde en çok hangi optimizasyon tekniğine odaklanıyorsunuz ve bu süreçte karşılaştığınız en büyük performans darboğazı ne oluyor?