Oyun Sahnesinde Performans Optimizasyonu: Profiler Okumak

# Oyun Sahnesinde Performans Optimizasyonu: Profiler Okumak

Oyunun FPS'i aniden düşüyor ama neden? Hangi sistem yavaşlatıyor? Profiler bu soruların cevabını verir. Profiler, kodun her bölümünün ne kadar zaman aldığını ölçer.

Unity'de profiler açmak çok basit. Window menüsünden Analysis > Profiler seçin. Oyunu Play moduna alıp profiler verisi toplamaya başlayın.

Profiler üç ana bölüme ayrılır:
- CPU Usage: CPU'nun ne kadarını hangi sistem kullanıyor
- GPU Usage: Grafik kartının yükü
- Memory: Bellek tüketimi

CPU grafiğine bakın. Yeşil = iyi, sarı = uyarı, kırmızı = sorun. Grafik altında detay listesi var. Her satırda işlemin adı ve aldığı zaman yüzdesi yazıyor.

Örneğin:
- Rendering: %35
- Physics.Simulate: %28
- Scripts: %22

Eğer Physics.Simulate çok yüksekse, sahneye çok fazla rigidbody var demektir.

Reklam · TEST
AdSense Test ReklamıYazı arası (gönderi içi) · Yazı arası

En yüksek yüzdeyi tıklayın. Alt sekmede o işlemin alt detayları çıkacak. Örneğin Physics altında hangi collision kontrolleri yavaş, onu görebilirsiniz.

Sahneye 500 küçük kutu koydunuz ve hepsi rigidbody. Profiler Physics'in %45 aldığını gösteriyor.

1// KÖTÜ: Tüm nesneler fizik simülasyonunda
2for (int i = 0; i < 500; i++) {
3GameObject cube = Instantiate(cubePrefab);
4Rigidbody rb = cube.AddComponent<Rigidbody>();
5rb.useGravity = true;
6}
7
8// İYİ: Statik nesneleri fizikten çıkar
9for (int i = 0; i < 500; i++) {
10GameObject cube = Instantiate(cubePrefab);
11if (i < 450) { // Sadece 50 tanesi dinamik
12Rigidbody rb = cube.AddComponent<Rigidbody>();
13rb.useGravity = true;
14} else {
15cube.GetComponent<Collider>().enabled = true; // Statik
16}
17}

Beklenen çıktı: Physics kullanımı %45'ten %12'ye düşer.

CPU sorun değilse GPU'ya bakın. Rendering çok yüksekse:
- Çok fazla draw call var
- Yüksek çözünürlüklü texturelar
- Karmaşık shader'lar

GPU profiler her frame kaç draw call yapıldığını gösterir.

Profiler okumak öğrenince, optimizasyon çok kolay olur. Her değişiklikten sonra profiler'ı kontrol edin. Gerçek sorun bulduktan sonra çözüm uygulamak zaman kaybetmez.

Reklam · TEST
AdSense Test ReklamıGönderi altı · Görüntülü
konu hakkında tepkinizi verebilirsiniz