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 用updateglqopenglwidget用update
以上是关于opengl刷新界面时要怎么阻止windows窗口重绘的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 c++ 和 opengl 在 mac 中创建窗口?