繁体   English   中英

WinAPI双缓冲

[英]WinAPI Double-buffering

默认的winAPI应用程序没有双缓冲。 相反,它确实能够确保只绘制需要绘制的内容,并使其具有无缝外观。 但是,当您调整窗口大小时,需要重新绘制整个窗口,这会导致控件,选项卡上的背景以及选项卡的白色之间出现闪烁。

所以我的问题是,在我的应用程序中支持双缓冲的最简单方法是什么?

创建一个与窗口大小相同的位图,渲染到该位图,并在完成后将其重新插入窗口。

您可以在现有代码中进行非常简单的就地替换。 不使用渲染到窗口中的设备上下文,而是使用渲染到位图中的设备上下文,并且仅使用原始DC来回显示位图。

一定要保留位图 - 不要在每个绘图调用中创建它。 您只需在调整窗口大小时重新创建它。

请看下面的文章: 使用屏幕外DC的无闪烁显示

本文介绍了一种以屏幕不闪烁的方式绘制到窗口设备上下文(DC)的技术。 该技术非常简单,易于实现。

几年前我学会了如何防止本教程中的闪烁。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM