C#中的双缓冲

2025-03-04 22:33:21
推荐回答(3个)
回答1:

我手头没有,不过其实WINDOWS自带的那个画图板就有用到双缓冲技术,简单说就是当我们在进行画图操作时,系统并不是直接把内容呈现到屏幕上,而是先在内存中保存,然后一次性把结果输出来,如果没用双缓冲的话,你会发现在画图过程中屏幕会闪的很厉害,因为后台一直在刷新,而如果等用户画完之后再输出就不会出现这种情况,具体的做法,其实也就是先创建一个位图对象,然后把内容保存在里面,最后把图呈现出来。

回答2:

设置图形大小缓冲区域Rectangle drawRectangle
BufferedGraphicsContext currentContext = BufferedGraphicsManager.Current;
BufferedGraphics myBuffer = currentContext.Allocate(this.CreateGraphics(), drawRectangle);
Graphics g = myBuffer.Graphics;
利用g进行绘图

回答3:

DoubleBuffered 属性