SetTexture()는 같은 텍스쳐가 계속 바인딩에되어도 계속 텍스쳐 스와핑이 일어날까요?
즉 다음과같은 두개의 구분은 속도에 차이가있을까요?
///이것과
for( int i = 0; i < 10000; i ++ )
{
device->SetTexture(0, texture );
device->DrawPrimitive();
}
///이것!
device->SetTexture(0, texture );
for( int i = 0; i < 10000; i ++ )
{
device->DrawPrimitive();
}
SetStreamSouce에 부담이가게되나요 아니면 DrawPrimitive할때 부담이 가게되나요?
즉
For( int i = 0; i < 1000; i ++ )
{
device->SetStreamSouce();
device->DrawPrimitive();
}
와
device->SetStreamSouce();
For( int i = 0; i < 1000; i ++ )
{
device->DrawPrimitive();
}
는 속도의 차이가있을까요?
아니면 버텍스버퍼에 밀어넣는것이 좋을까요?, 버텍스 버퍼에 밀어넣고 SetTransform()을 불러주면서, DrawPrimitive()를 부르는건 또 어떨까요??
위의 것들이 차이가 있다면, 텍스쳐별로 소팅을하거나,,같은 오브젝트(돌같은것들) 을 여러개 뿌릴경우는 SetStreamSource()하 한번만 일어나게등의 최적화를 수행할 수 있을겁니다.