看了这篇博文
http://www.cnblogs.com/phinecos/archive/2007/07/28/834916.html
发现拖动窗口时候有白条(抖动).
再看
http://www.cnblogs.com/phinecos/archive/2008/11/04/1326687.html
其中说到:
8
,试试改变窗口的大小,你会看到很严重的闪烁,并且关闭程序后会报告内存泄露,因此我们这就来解决这两个问题吧。
发生闪烁的原因是
Windows
先绘制背景,然后再是
OpenGL
绘制,因为我们已经让
OpenGL
负责清空背景色,因此我们不需要
Windows
去清空背景了
{
//
Tell Windows not to erase the background
return
TRUE;
}
{
sizeof(PIXELFORMATDESCRIPTOR),
1,
PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL |
PFD_DOUBLEBUFFER |PFD_STEREO_DONTCARE
, //不能同时使用 PFD_SUPPORT_GDI
PFD_TYPE_RGBA,
24,
0,0,0,0,0,0,
0,
0,
0,
0,0,0,0,
32,
0,
0,
PFD_MAIN_PLANE,
0,
0,0,0
};
SwapBuffers(this->hDC);
本文探讨了在使用OpenGL进行绘图时遇到的闪烁问题及其解决方案。通过调整窗口背景绘制方式及设置正确的像素格式描述符,可以有效避免窗口拖动过程中的闪烁现象。此外,还讨论了双缓冲机制的应用。
1641

被折叠的 条评论
为什么被折叠?



