目录
双缓冲消除闪屏
学了easyx图形库的猿们都知道,我们可以在easyx图形库上面画出连续运动的图形 ,或者通过贴图的方式把每一帧图片连起来达到动态效果,但是我们每次贴完图片或者画完一些图形的时候要进行清屏,然后就会出现闪屏现象,这让我们非常难受,那怎么去消除这种现象呢?
----------双缓冲
用法:
#include <graphics.h>
int main(){
initgraph(640, 640);
while(1) {
BeginBatchDraw();
cleardevice();
circle(114, 514, 191);
EndBatchDraw();
}
closegraph();
return 0;
}
BeginBatchDraw() / EndBatchDraw():
参数:0
返回值:void
原理:
BeginBatchDraw 开始运行时,绘制的图形不会直接显示在屏幕上,而是存入到缓冲区里面去,也就是存入到电脑的内存里面。当遇到EndBatchDraw,缓冲区里面存入的图片内容会释放出来,显示到屏幕上,以此实现让每一次循环的每一帧图片可以显示到屏幕上。
类似printf()的输出缓冲。
细节:
cleardevice()一定要在绘制之前写!!!
cleardevice()一定要在绘制之前写!!!
cleardevice()一定要在绘制之前写!!!
不然别问为啥程序运行后一片空白。
我咋知道的?肯定不是掉过坑了......