在控件上使用DoubleBuffer时的优点和缺点

时间:2011-06-11 05:04:44

标签: c# .net

默认情况下,Windows控件没有DoubleBuffer。当我使用它时,我可以减少闪烁。为什么在Windows控件中默认不使用它。

在控制中使用DoubleBuffer时,任何人都可以说出优点和缺点。

感谢。

2 个答案:

答案 0 :(得分:1)

当我们想要创建的绘图有很多细节时使用双缓冲技术,即使使用快速计算机绘制也很费时。在这种技术中,不是在屏幕上绘图,而是首先绘制成图像然后画在窗户上的图像。

WinForms的目的是首先使用UI元素(ComboBox,TextBox等)创建表单,这就是为什么它默认不使用Double Buffering。

双缓冲用于图形开发。

所以......双缓冲使用更多内存但速度更快,没有多少图纸时无需使用它

希望这有帮助!

答案 1 :(得分:0)

  

双缓冲是一种使用的技术   制作图纸密集型应用程序   更快,通过减少显得更顺畅   闪烁。基本的想法是采取   绘画操作用来画你的   申请并将其应用于   离屏画布。一切都结束了   绘图操作已经完成,这个   然后'推出屏幕外画布   前进到表面 - 或绘制为   将单个图像放到控件上。这个   给用户一个外观   更快的应用程序。

DoubleBuffer是内存密集型的,如果你的系统内存较少,那么你可能会遇到内存崩溃的问题。

  

关于双重的最后考虑   这里描述的缓冲思想就是这样   这既没有完全优化,也没有   没有它的缺点。而   双缓冲是一个很好的方法   减少Windows的闪烁   形式绘画,它是记忆   密集。基本上,使用两次   有效的记忆:   应用程序的屏幕图像以及   屏幕外图像。也,   动态创建一个Bitmap对象   对于每一个油漆事件都非常   使用的昂贵   Graphics.DrawImage推送   屏幕外的图像到表面   形成。 DoubleBuffer控件样式   执行所有这些优化   通常是最有效的方式   做双缓冲。

您可以阅读有关此here

的更多信息