2012-03-24 59 views
1

我见过this但它没有提到三重缓冲和实际方法。关于在Windows上的OpenGL多缓冲的几个问题

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

回答

3

OpenGL common mistakes on triple buffering

你无法控制驱动程序是否确实三重缓冲。你可以尝试使用FBO自己实现它。但是如果驱动程序已经在执行三重缓冲,那么您的代码只会将其变为四倍缓冲。这通常是矫枉过正的。

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