Effect
XNA'da parametreleri ayarlamak için en iyi uygulama olup olmadığını sormak istiyorum . Veya başka bir deyişle, tam olarak aradığımda ne olur pass.Apply()
. Birden fazla senaryo hayal edebiliyorum:
- Her seferinde
Apply
çağrıldığında, tüm efekt parametreleri GPU'ya aktarılır ve bu nedenle ne sıklıkta parametre ayarladığımın gerçek bir etkisi yoktur. - Her seferinde
Apply
çağrılır, sadece sıfırlanan parametreler aktarılır. Bu nedenle, aslında yeni bir değer ayarlamayan önbellekleme işlemlerinden kaçınılmalıdır. - Her seferinde
Apply
çağrılır, sadece değiştirilen parametreler aktarılır. Yani Set-operasyonlarını önbelleğe almak işe yaramaz. - Tüm bu sorular bootless çünkü bahsetme yollarından hiçbirinin oyun performansı üzerinde kayda değer bir etkisi yoktur.
Yani son soru: Küme işleminin önbelleğe alınmasının uygulanması aşağıdaki gibi yararlı mı?
private Matrix _world;
public Matrix World
{
get{ return _world; }
set
{
if (value == world) return;
_effect.Parameters["xWorld"].SetValue(value);
_world = value;
}
}
Beklediğiniz için teşekkür ederim.