Oyun Geliştirme
Burst compiler
Burst compiler ile yüksek performanslı kodu öğrenirsin.
Burst Compiler nedir?
Burst Compiler, Unity tarafından geliştirilen ve belirli C# kodlarını yüksek performanslı makine koduna dönüştüren bir derleyicidir. Özellikle matematiksel işlemlerin yoğun olduğu sistemlerde işlem hızını artırmaya yardımcı olur. Burst, uygun kodlarda işlemci mimarisinin SIMD gibi özelliklerinden yararlanabilir.
using Unity.Burst;
[BurstCompile]
public struct CalculationJob
{
// Hesaplama işlemleri
}
Burst kullanmak için ilgili paketin projede bulunması ve desteklenen kod yapılarının tercih edilmesi gerekir.
BurstCompile niteliği
Burst kullanmak istediğin uygun metot veya iş yapısına BurstCompile niteliği ekleyebilirsin. Bu nitelik, Burst derleyicisinin ilgili kodu derlemesini sağlar. Burst özellikle matematiksel işlemler ve yoğun hesaplama görevlerinde yararlı olabilir.
using Unity.Burst;
public static class MathOperations
{
[BurstCompile]
public static float DoubleValue(float value)
{
return value * 2f;
}
}
Burst her C# özelliğini desteklemez; bu nedenle kullanılan kodun Burst uyumluluğu önemlidir.
Uygulama Burst destekli hesaplama sınıfı oluştur
BurstMath adında statik bir sınıf oluştur. Multiply adlı statik metot tanımla ve metodun üzerine BurstCompile niteliğini ekle. Metot iki float parametre almalı ve bu değerlerin çarpımını döndürmeli. Sonucu konsola yazdır.
Örnek çözümü göster
using Unity.Burst;
using UnityEngine;
public static class BurstMath
{
[BurstCompile]
public static float Multiply(float a, float b)
{
return a * b;
}
}
public class BurstMathTest : MonoBehaviour
{
void Start()
{
Debug.Log("Result: " + BurstMath.Multiply(3f, 4f));
}
}
Kendini test et
-
Burst Compiler'ın temel amacı nedir?
- Sahne nesnelerini otomatik oluşturmak
- C# kodunu yüksek performanslı makine koduna dönüştürmek
- Görsel materyalleri düzenlemek
- Ses dosyalarını sıkıştırmak
Cevabı göster
C# kodunu yüksek performanslı makine koduna dönüştürmek — Burst Compiler, desteklenen C# kodlarını optimize edilmiş makine koduna dönüştürerek performansı artırmayı amaçlar.
-
Burst niteliğini ekle
using Unity.Burst;
____
public struct CalculationJob
{
public float Value;
}
Cevabı göster
using Unity.Burst;
[BurstCompile]
public struct CalculationJob
{
public float Value;
}
-
Burst performans kavramları
- Burst Compiler
- Kodun optimize edilmesini sağlar
- BurstCompile
- Derleme niteliğidir
- SIMD
- Tek komutla birden fazla veriyi işler
- Machine Code
- İşlemcinin çalıştırdığı kod
Sıradaki ders: Özet - Unity DOTS/ECS