c++ - 关于 Windows 上 OpenGL 中多重缓冲的几个问题

标签 c++ windows winapi opengl 3d

我看过 this但它没有提及三重缓冲和实际方法。

  1. 现代游戏执行三重缓冲的最常见方式是什么?
  2. SwapBuffers 是什么意思?就 OpenGL 状态而言究竟如何?
  3. 是否可以独立于窗口系统执行双缓冲和三缓冲(例如,通过使用 glDrawBuffer 进行操作或使用 FBO/PBO)?
  4. 3. 在性能和灵 active 方面是否有意义?

最佳答案

根据 OpenGL common mistakes on triple buffering :

You cannot control whether a driver does triple buffering. You could try to implement it yourself using a FBO. But if the driver is already doing triple buffering, your code will only turn it into quadruple buffering. Which is usually overkill.

SwapBuffers 指示驱动程序在前后缓冲区之间交换或复制,它不是 OpenGL 命令。

关于c++ - 关于 Windows 上 OpenGL 中多重缓冲的几个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9853859/

相关文章:

c++ - 使用 std 命名空间,为什么(或为什么不)我应该添加 std::前缀?

c++ - `const` 关键字在函数之后有什么作用?

python - 为什么 termcolor 在 Windows 控制台中输出的是控制字符而不是彩色文本?

windows - 存储库损坏 + 基于存储库名称的错误

无法从 LPT1 获取端口句柄

delphi - 在 Windows XP/7 中,我能否收到有关我未生成的进程正在关闭的通知?

c++ - boost:asio::UnregisterWaitEx 尚未声明

c++ - 为什么这个 move 构造函数如此贪婪?

c++ - 我的基于树的 C++ 表达式求解器存在数字被覆盖的奇怪问题?

c++ - Windows - 使用可视化库 FMXMain 获取参数