《游戏编程模式》笔记——双缓冲模式
什么是双缓冲模式
双缓冲模式顾名思义有两个缓冲实例,一个当前缓冲实例,一个下一缓冲实例。
在使用时,使用当前缓冲实例,同时生成下一缓冲实例,当下一缓冲实例准备完毕后与当前缓冲进行交换。
为什么要这么做呢
使用双缓冲模式,是希望当前缓冲一定是一个准备好的数据,并且不会再改变,在使用时不必担心当前缓冲因为被外部改变而出现一些异常情况。
注意
交换是需要时间的,这个操作必需是原子级的,通常只是修改指针或者引用,交换时间长于修改时间的话将毫无助益。
我们拥有两个缓冲,也就是双倍的内存使用,甚至可能更多,这取决与交换时是否重复使用当前状态,还是创建新的实例。
参考
《游戏编程模式》