2011-02-05 2 views
6

중복 된 OpenGL 호출을 모두 제거 할 것을 권장하는지 궁금합니다. 드라이버가 자동으로 같은 일을하고 이것은 중복 reduntant 체크 실제로중복 OpenGL 호출하기

if(foobuffer != boundbuffer) { 
    glBindBuffer(GL_BAR_BUFFER, foobuffer); 
    boundbuffer = foobuffer; 
} 

또는이다 : 예를 들어

, 나는 (함수에 싸여) 같은 일을해야 하는가?

답변

5

당신은 아마 그것을 피해야합니다. Here (특히 22.040, 앵커가 없으므로 페이지를 아래로 스크롤해야 함), 일부 구현에서는 영향을 최소화하려고하지만 중복 호출은 일반적으로 나쁜 습관이라는 점에 유의하십시오.

gDEBugger과 같은 도구는 코드 기반에서 얼마나 많은 코드를 만들지 모르는 경우에 중복 전화를 걸고있는 위치를 추적하는 데 사용할 수 있습니다.

3

Android 응용 프로그램에서 많은 호출이 제거되었으므로 해당 플랫폼 (특정 OS 버전 및 하드웨어)에서 중요하다는 것을 직접 알릴 수 있습니다. 그것은 몇 프레임으로 프레임 속도를 증가 시켰고, 나는 약 5-10 %의 이익을 말할 것입니다.