opengl刷新界面时要怎么阻止windows窗口重绘

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opengl刷新界面时要怎么阻止windows窗口重绘相关的知识,希望对你有一定的参考价值。

我基于vc做opengl绘图,当窗口刷新重绘的时候总是会有一次白色的闪烁,我想这是windows刷新了一次窗口背景,我想知道要怎么阻止windows的这次刷新窗口,只让opengl来刷新背景

刷新是必然的,之所以opengl看不到白屏,是因为opengl中使用了双缓冲技术。

双缓冲就是说先在内存中绘制图形,完成后直接复制到窗口中。

因为复制的时间相对于绘制所需的时间可以忽略不计,所以不会有闪烁。

搜索“双缓冲绘图”即可
参考技术A 1.OnEraseBkgnd()什么也不做, 返回TRUE; 缺省的处理机制是刷白.
2.在OnPaint中,使用内存DC将屏幕画好后一次性贴上去,在OnPaint中花的时间越短效果越好.本回答被提问者采纳
参考技术B 在设置像素索引格式时设置为PFD_DOUBLEBUFFER

在OnPaint函数最后调用
SwapBuffers(dc.m_hDC);

qt opengl的图形怎么刷新

参考技术A qglwidget 用updategl
qopenglwidget用update

以上是关于opengl刷新界面时要怎么阻止windows窗口重绘的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 c++ 和 opengl 在 mac 中创建窗口?

怎么阻止vue的数据更新刷新事件

怎么刷新路由器DNS

在asp.net中window.showModalDialog弹出窗口,关闭之后怎么刷新主窗口

Linux OpenGL 实践篇-2 创建一个窗口

您将如何阻止页面自动刷新?