“垂直同步”解决的问题是画面撕裂,而垂直同步会造成“操作延迟”的副作用,“三重缓冲”是解决“垂直同步”造成的操作延迟的操作。
1、垂直同步解决画面撕裂的原理:
开启垂直同步相当于在帧缓冲区设置红绿灯。当显示器尚未完成一帧画面的刷新时,红灯亮起,两个缓冲器不允许互换;当显示器刷新一帧时,绿灯亮起,可以交换缓冲区。这样,未来就消除了“数据传输过程中交换缓冲区”的可能,画面撕裂的问题自然也就迎刃而解了。
2.三重缓冲解决操作延迟的原理:
三缓冲在双缓冲的基础上增加了一个帧缓冲,构成了一个前缓冲和两个后缓冲的规格。该程序将图像来回写入两个后台缓冲区。每次刷新显示器时,前缓冲区都会与最近完成写入的后缓冲区交换。可以看出,即使一个缓冲区由红绿灯控制,另外两个缓冲区仍然可以来回写入图像,因此不需要人为增加屏幕延迟。