您的位置:首页 > 运维架构

在MFC环境下配置OpenGL导致闪屏的解决方案

2015-01-25 18:11 1171 查看
按照牛四强OpenGL学习中网页的配置方法或者网上的配置方法在MFC框架下配置完OpenGL后,虽然启用了双缓冲,但是仍然会出闪屏的情况,这是由于OpenGL自己有刷新背景的函数glClear,故而应禁止Windows刷新窗口背景。否则,当窗口需要重画时,Windows会自动先发送WM_ERASEBKGND,而缺省的处理函数使用白色的背景刷。当OpenGL使用的背景颜色不是白色时,作图时有一帧白色的闪烁。这种现象在做动画时特别明显。

因此,网上所说的配置步骤还少了一部,应该在网上说的配置完成后,激活MFC程序中的WM_ERASEBKGND的消息处理函数中禁止父窗口类的消息处理,简单的返回一个TRUE即可。原来返回的是return CView::OnEraseBkgnd(pDC),现在应该把这个改成return TRUE,这样即可解决闪屏问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  opengl 闪屏 MFC