OpenGL에서 버퍼 객체 함수 ( glBufferData
,, glBufferSubData
아마도 몇 가지 다른 것)에는 매개 변수가 있으며 usage
, 설명서에서 의도 된 사용법에 대한 힌트로 설명되어 있으며, 구현이 더 나은 성능을 낼 수 있도록 도와줍니다.
용법
데이터 저장소의 예상 사용 패턴을 지정합니다. 상징적 상수는해야한다
GL_STREAM_DRAW
,GL_STREAM_READ
,GL_STREAM_COPY
,GL_STATIC_DRAW
,GL_STATIC_READ
,GL_STATIC_COPY
,GL_DYNAMIC_DRAW
,GL_DYNAMIC_READ
, 또는GL_DYNAMIC_COPY
.
[...]
사용법은 버퍼 객체의 데이터 저장소에 액세스하는 방법에 대한 GL 구현의 힌트입니다. 이를 통해 GL 구현은 버퍼 개체 성능에 큰 영향을 줄 수있는보다 지능적인 결정을 내릴 수 있습니다. 그러나 데이터 저장소의 실제 사용량을 제한하지는 않습니다.
위키 도 비슷합니다.
이것들은 결국 힌트 일뿐입니다. STATIC 버퍼가 작성된 후 수정하거나 STREAM 버퍼를 수정하지 않는 것은 완전히 합법적 인 OpenGL 코드입니다.
[...]
주의 깊은 프로파일 링으로 만 답변 할 수있는 질문입니다. 그럼에도 불구하고 대답은 특정 하드웨어 공급 업체의 특정 드라이버 버전에 대해서만 정확합니다.
이 매개 변수는 어느 정도 관련이 있습니까? 운전자는 실제로이를 고려하고 있으며, 실제로 경험에 따라 실제로 성능에 어느 정도 영향을 미칩니 까? 공유 할 데이터가 있습니까?
기존 API 중 하나로 구현하기 위해 얇은 그래픽 API 추상화 계층을 작성 했으며이 매개 변수를 모두 무시하고 노출 된 추상화에서 숨기려고합니다.