OpenGL缓冲区、glFlush和glutSwapBuffers()



使用glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);有什么区别吗具有glFlush()

CCD_ 3与CCD_?

通过差异,我指的是代码执行或显示的差异?

在现代平台上有一个巨大的区别,即合成窗口管理器(例如Windows Vista+上的Aero)有效地拥有前端缓冲区。如果绘制单个缓冲区,则永远不会发生缓冲区交换,最终结果是屏幕上不会显示任何内容。

即使没有合成窗口管理器,这也会影响混合GPU的某些实现(例如,笔记本电脑上的Intel集成+NVIDIA离散)。在这样的系统上,缓冲区交换操作是将离散GPU的帧缓冲区复制到集成中以进行最终输出。

在现代GPU上几乎没有理由使用单缓冲渲染。过去,必须维护两个颜色缓冲区会消耗大量内存,这也是反对三重缓冲的一个令人信服的论点,但如今,颜色缓冲区所需的内存量只是VRAM的一小部分。

最新更新