Effect
XNA에서 매개 변수 를 설정하는 가장 좋은 방법이 있는지 묻고 싶습니다 . 다른 말로하면, 전화 할 때 정확히 어떻게됩니까 pass.Apply()
? 여러 시나리오를 상상할 수 있습니다.
Apply
호출 될 때마다 모든 효과 매개 변수가 GPU로 전송되므로 매개 변수 설정 빈도에 영향을주지 않습니다.Apply
호출 될 때마다 재설정 된 매개 변수 만 전송됩니다. 따라서 실제로 새로운 값을 설정하지 않는 캐싱 세트 연산은 피해야합니다.Apply
호출 될 때마다 변경된 매개 변수 만 전송됩니다. 따라서 캐싱 세트 작업은 쓸모가 없습니다.- 언급 된 방법 중 어느 것도 게임 성능에 주목할만한 영향을 미치지 않기 때문에이 모든 질문은 부팅이되지 않습니다.
그래서 마지막 질문 : 다음과 같은 집합 연산 캐싱을 구현하는 것이 유용합니까?
private Matrix _world;
public Matrix World
{
get{ return _world; }
set
{
if (value == world) return;
_effect.Parameters["xWorld"].SetValue(value);
_world = value;
}
}
기대 해줘서 고마워요.