많은 생각을 해왔습니다. glBindTexture()로 약간 더 작은 텍스처를 전환하는 대신 거대한 텍스처를 전환하면 렌더링 속도가 느려 집니까? glBindTexture()가 사용될 때마다 GPU가 텍스처 데이터를 더 빠른 메모리 장소에 복사한다는 생각을했기 때문에 커다란 텍스처가 복사하는 데 더 오래 걸릴 것이라고 생각했습니다.OpenGL : 더 작은 텍스처 표면보다 더 큰 텍스처 표면이 더 좋거나 나쁩니 까?
하지만 이전에 애니메이션을 만들 때 많은 작은 텍스처를 사용했는데 일부 GFX 카드에서는 속도가 너무 느려졌지만 애니메이션 프레임을 단일 텍스처에 배치하면 성능이 크게 좋아졌습니다. 아직도, 나는 두 경우 모두에서 다른 GFX 카드에 성능 문제가 없었다.
그렇다면 항상 가능한 가장 큰 텍스처 표면 크기를 사용해야합니까? (만약 내가 그다지 비어있는 텍스쳐 공간을 낭비하지 않는다면).
몇 가지 참고 자료를 제공해 주시겠습니까? 모든 텍스처에 대해 항상 동일한 시간이 걸릴 것으로 생각됩니다. – Rookie
@rookie. 예를 들어 CUDA에서 텍스처 캐시 동작에 대해 문서화하려고 할 수 있습니다. 드라이버는 필요한 경우 텍스처 전체를 더 빠른 메모리로 이동하지 않습니다. 실제로 사용/샘플링 된 부품 만이 N 픽셀 크기의 2d 블록에서 GPU '텍스처 캐시'로 옮겨집니다. – rotoglup