gpt4 book ai didi

OpenGL 缓冲区、glFlush 和 glutSwapBuffers()

转载 作者:行者123 更新时间:2023-12-02 07:12:19 28 4
gpt4 key购买 nike

使用 glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); 之间有什么区别吗?和glFlush()

glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);glutSwapBuffers()

所谓差异,是指代码执行或显示方面的差异?

最佳答案

现代平台上存在巨大差异,从某种意义上说,合成窗口管理器(例如 Windows Vista+ 上的 Aero)有效地拥有前缓冲区。如果您绘制单缓冲,则永远不会发生缓冲区交换,最终结果是屏幕上不会显示任何内容。

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

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

关于OpenGL 缓冲区、glFlush 和 glutSwapBuffers(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25949228/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com