APD*_*APD 4 opengl buffer glut
使用,glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
与
有什么区别glFlush()
并glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);用glutSwapBuffers()?
通过不同,我暗示代码的执行或显示有所不同?
在现代平台上存在巨大差异,从某种意义上说,合成窗口管理器(例如 Windows Vista+ 上的 Aero)有效地拥有前端缓冲区。如果您绘制单个缓冲,则永远不会发生缓冲区交换,最终结果是屏幕上永远不会显示任何内容。
即使没有合成窗口管理器,这也会影响混合 GPU(例如笔记本电脑上的 Intel 集成 + NVIDIA 离散)的一些实现。在这样的系统上,缓冲区交换操作是将离散 GPU 的帧缓冲区复制到集成的最终输出。
几乎没有理由在现代 GPU 上使用单缓冲渲染。过去,必须维护两个颜色缓冲区会占用大量内存,这也是反对三重缓冲的一个令人信服的论点,但如今,颜色缓冲区所需的内存量只是 VRAM 的一小部分。
| 归档时间: |
|
| 查看次数: |
5572 次 |
| 最近记录: |