2010-06-21 2 views
8

그래서 저는 일반적으로 OpenGL과 gpus 및 그래픽에 대해 많이 읽었으며 트리플 버퍼링은 무료 성능 향상을 제공하는 준결승으로 언급됩니다. 나는 그것이 왜 도움이되는지 안다. 실제로, 60 또는 30 또는 20 또는 15 등의 프레임 속도 선택에 제한되지 않고 v- 동기화를 수행 할 수 있으므로 실제로 55fps를 달성 할 수 있습니다. 그러나 실제로 이것에 대한 비용이 있습니까? 직관적으로, 트리플 버퍼링이 한 프레임 씩 출력을 지연시켜 모든 것에 매우 작은 지연을 추가 할 것으로 기대합니다.트리플 버퍼링은 실제로 무료 성능 향상입니까?

답변

6

55FPS에서 한 프레임의 비트 수는 20ms 미만입니다. 따라서 무료는 아니지만 거의 항상 비용이들 것입니다.

15 FPS에서는 꽤 눈에. 수 있습니다. (BTW, 이것은 포터블 랩탑입니다. 대부분의 3D 게임이 나를 위해 그 정도로 빠르게 움직입니다. 어떤 것은 더 느립니다.)

어떤 사람들은 특히 느린 프레임 속도에서 지연을 알아 차리고 때로는 트리플 버퍼링이 예상했다. (OpenGL에서, 특히 하드웨어에 의해 잘 지원되지 않는 무언가는 소프트웨어 에뮬레이션으로 (잠재적으로 매우 느린) 뒤 떨어질 수 있습니다. 요즘 많은 문제는 아니지만, 그렇습니다.) 그래서 트리플 버퍼링을 사용하는 대부분의 프로그램들 이를 사용 중지하는 옵션을 포함하십시오. 같은 일을하는 것이 좋습니다.

5

Akenine-Möller 및 다른 사람들의 훌륭한 "실시간 렌더링"(http://www.realtimerendering.com/) 책의 835 페이지는 지연에 대한 자신의 질문에 대한 답변에서 이미 제안한 내용을 요약 한 것입니다. 수직 귀선을 기다리는 동안

"트리플 버퍼링이 더블 버퍼링을 통해 한 가지 큰 장점이 있습니다. 그것을 를 사용하여 시스템이 대기중인 버퍼를 액세스 할 수 있습니다. 더블 버퍼링으로, 스왑은 그래픽 파이프 라인을 멈출 수있다. ... ] 트리플 버퍼링의 단점 인 은 대기 시간이 최대 하나의 전체 프레임까지 증가하므로 키스트 로크와 같은 사용자 입력에 대한 반응이 지연됩니다 및 마우스 또는 조이스틱이 움직입니다. "