0

我刚刚发现了双缓冲区是什么,我完全理解它们是如何工作的以及为什么使用它们(感谢上帝的维基百科!)

我也知道三重缓冲区用于图形的平滑动画。

但是,翻页(也称为 Ping Pong Buffering)显然也更快,并且消除了图形的撕裂。

所以我的问题是:

  1. 是否可以两全其美并拥有三页翻页缓冲区?因此,动画不仅流畅而且无撕裂。
  2. 是否值得去创建这个三页翻页缓冲区的麻烦?例如,它会使动画更快还是只是给设备带来不必要的压力?

先感谢您!

4

1 回答 1

1

我所知道的大多数硬件都使用维基百科所说的“翻页方法” ——即通过切换哪个缓冲区被视为前缓冲区来显示动画的新帧,而无需任何复制操作。这种方法与三重缓冲完全兼容——如果您可以更改您认为是前端缓冲区的两个缓冲区中的哪个缓冲区,那么您通常可以对三个缓冲区执行相同的操作。

首先使用三个缓冲区是一种权衡:您不会浪费时间没有缓冲区可绘制(如果绘制速度比刷新率快),但它会使用更多内存并且可能会增加额外的延迟。

于 2016-04-17T19:29:29.083 回答