我刚刚发现了双缓冲区是什么,我完全理解它们是如何工作的以及为什么使用它们(感谢上帝的维基百科!)
我也知道三重缓冲区用于图形的平滑动画。
但是,翻页(也称为 Ping Pong Buffering)显然也更快,并且消除了图形的撕裂。
所以我的问题是:
- 是否可以两全其美并拥有三页翻页缓冲区?因此,动画不仅流畅而且无撕裂。
- 是否值得去创建这个三页翻页缓冲区的麻烦?例如,它会使动画更快还是只是给设备带来不必要的压力?
先感谢您!
我刚刚发现了双缓冲区是什么,我完全理解它们是如何工作的以及为什么使用它们(感谢上帝的维基百科!)
我也知道三重缓冲区用于图形的平滑动画。
但是,翻页(也称为 Ping Pong Buffering)显然也更快,并且消除了图形的撕裂。
所以我的问题是:
先感谢您!
我所知道的大多数硬件都使用维基百科所说的“翻页方法” ——即通过切换哪个缓冲区被视为前缓冲区来显示动画的新帧,而无需任何复制操作。这种方法与三重缓冲完全兼容——如果您可以更改您认为是前端缓冲区的两个缓冲区中的哪个缓冲区,那么您通常可以对三个缓冲区执行相同的操作。
首先使用三个缓冲区是一种权衡:您不会浪费时间没有缓冲区可绘制(如果绘制速度比刷新率快),但它会使用更多内存并且可能会增加额外的延迟。