static PIXELFORMATDESCRIPTOR pfd2 = 
{ sizeof(PIXELFORMATDESCRIPTOR), 
1,PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER ,
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
};在xp下上面的设置可以正常运行。在vista下则没有双缓冲效果,显示速度非常慢,显示效果相当于是在xp下去掉PFD_DOUBLEBUFFER 参数。为什么会这样?开发机器的配置都不低。

解决方案 »

  1.   

    OpenGL已被完全整合入Windows Vista显示架构中,如Direct3D一样,二者均是一流的图形处理API。同Windows XP环境一样,图形加速卡硬件销售商提供高度优化的驱动程序用以实现OpenGL硬件加速。以上为官方说明,说明不仅又系统驱动,vista下的显卡驱动也很重要?。下载最新的显卡驱动 最好安装DirectX 9, 一般这样都能解决问题,还不行,看下面。手工安装GLsetup.exe或MSOpengl(地址:http://www.openglsource.com/download/MSOpengl.exe) 如果还不能解决问题,可能你的显卡不太支持, 请使用GLDirect 这个工具,(降低硬件要求,模拟OPENGL)。 
    GOOD LUCK!!!!