C# kullanarak bir oyun programlama yapıyorum, bu yüzden performans konusunda çok endişeliyim.Sınıf VS ref Yapı
Ben ana farklar ne olduğunu bilmek ister ve mümkünse performans etrafında verileri aktarmak için bir Class ya kullanmanın düşünceler veya referans olarak geçirilen yapı olacaktır.
Ben performans nedenlerinden (ı ref tarafından geçen varsayıyorum burada değeriyle çok daha hızlıdır) için, etrafında verileri kopyalamak değil diliyorum.
Bir sınıfın her zaman referans olarak iletildiğini ve bir yapının değere göre aktarıldığını biliyorum, ancak yapıyı burada referans alarak iletmekten bahsediyorum.
ben geçmek isteyen verilerinin bir örneği: Önceki örnekte
public delegate void PathCompleteDelegate(List<PathFinderNode> path);
public struct PathFinderJob{
public PathCompleteDelegate callback;
public Vector3 start, end;
public PathSize unitSize;
public BoxCollider boxCollider;
}
, bir sınıf bir fark yaratmak kullanarak ki? Eğer öyleyse, fark ne olurdu? Bu örnekte bir sınıf bir yapıdan daha hızlı mı olur? Niye ya?
Teşekkür ederiz. Joao Carlos
Her iki yaklaşımı da performans profili denediniz mi? Yapı, bir yöntemin kapsamı dışında belirtiliyorsa, yine de (öbekte bir sınıf içinde yer alan gibi) yığında olacaktır. Metot çağrıları açısından sınıfa veya yapısal yapıya aynı performansta olduğundan şüphelenirim. –
Çok fazla deneyim profiline sahip değilim ve Unity3D'nin yerleşik profilerle hızlı bir profil denetimi yaptım, ancak bir fark görmedim, ancak, yerleşik profilerdeki bu tür "küçük balık" ile ne kadar iyi olduğunu bilmiyorum ya da diğer tüm oyunlarla ilgili profiller arasında bir fark görecekti. –
OO dilinde bir oyun programlarken zaman yapılarımı boşa harcamam. Sorun ** Ben ** performans sorunları elde etmeden önce karşılaşacağız ** oyun biten **. Sınıflar ve nesneler, dev hız IMO'yu artırır. – Bitterblue