Skip to content

目的

双缓冲是描述具有两个缓冲区的设备的一个术语。多缓冲技术的使用增加了设备的总吞吐量,并有助于防止设备遭遇瓶颈。本实例展示了在图形编程中使用双缓冲技术。它用于显示一个图像或帧,并同时缓冲一个独立的帧用以接下来显示。这种方法使动画和游戏看起来比在单缓冲模式下的更加真实。

类图

alt text

适用性

这种模式是那种“你会知道你何时要使用”的模式之一。因为如果你有一个缺少双缓冲的系统,它可能会看起来明显地出错(出现图像撕裂等)或是行为不正确。不过,“你会知道你何时使用”的说法不能让你进步,更具体地来说,当下面这些所有条件符合时,这个模式就是适合使用的:

  • 当我们有若干状态正逐渐地被修改。
  • 修改过程中可能有相同的状态会被访问。
  • 当我们想要阻止正在访问状态的代码了解正在进行的工作。
  • 当我们想要做到读取状态,但又不想在程序被写入时等待。

鸣谢