View Full Version : WinXP slow??

05-12-2003, 11:02 AM
My programm uses glut and used to work very well. I used to work with VisualC++6.0 with Win2000 and my programm ran at 50 frames per second. I tried my programm with windows XP on the same computer and this time, my programm ran at 4 frames per second!!!
Do you think my version of glut is too old?
Is it a known bug?
I have just downloaded the version 3.7.6 of glut32.dll. Is that the last version? Could a new version solve the problem?
Thank you very much! http://www.opengl.org/discussion_boards/ubb/smile.gif

05-12-2003, 11:37 AM
Strange, it seems that your program runs with a software opengl renderer, that doesn't use any hardware acceleration. Did you install new opengl drivers for your graphics card?

05-12-2003, 11:42 AM
Yes : my drivers are the last.
You seem to be right : it seems as if my program didn't use Hardware renderer.
How can I see if it uses Software or Hardware renderer?

05-12-2003, 01:03 PM
Call glGetString once for each of following GL_RENDERER, GL_VENDOR, GL_VERSION. If the renderer or vendor says Microsoft then it is in software mode. If so, you may be asking glut to use functionality not supported by your hardware - these would be the parameters you pass to glutInitDisplayMode... what setting do you pass to that function?

[This message has been edited by shinpaughp (edited 05-12-2003).]

05-13-2003, 02:48 AM
Here is my function WinMain :

char str[256];
glutInit(&argc, &argvpt);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH );
sprintf(str, "PIOU" ": Renderer: %s, fps= %n", glGetString(GL_RENDERER),&xXDS);


// glutKeyboardFunc(Keyboard);
// glutFullScreen();
return 0;

In the window title, I can see that the rendere is GDI, which is SoftWare.
What can I do? Please help me!

05-13-2003, 02:59 AM
I have tried to open my window with these lines too, but I still have the same problem : it is very slow with WinXP, and fast with WinME or Win2000 :


int pixelformat;

pfd.nSize = sizeof(PIXELFORMATDESCRIPTOR); // Set the size of the structure
pfd.nVersion = 1; // Always set this to 1
// Pass in the appropriate OpenGL flags
pfd.dwLayerMask = PFD_MAIN_PLANE; // We want the standard mask (this is ignored anyway)
pfd.iPixelType = PFD_TYPE_RGBA; // We want RGB and Alpha pixel type
pfd.cColorBits = 24; // Here we use our #define for the color bits
pfd.cDepthBits = 24; // Depthbits is ignored for RGBA, but we do it anyway
pfd.cAccumBits = 0; // No special bitplanes needed
pfd.cStencilBits = 0; // We desire no stencil bits

// This gets us a pixel format that best matches the one passed in from the device
if ( (pixelformat = ChoosePixelFormat(hdc, &pfd)) == FALSE )
MessageBox(NULL, "ChoosePixelFormat failed", "Error", MB_OK);
return FALSE;

// This sets the pixel format that we extracted from above
if (SetPixelFormat(hdc, pixelformat, &pfd) == FALSE)
MessageBox(NULL, "SetPixelFormat failed", "Error", MB_OK);
return FALSE;


Please, tell me why my program doesn't want to use HardWare renderer with WinXP, although it does with WinMe and Win2000 !
Thank you !

05-13-2003, 03:30 AM
Do you have 16bit desktop in your XP, and 32bit on the other computers?

05-13-2003, 03:36 AM
Sorry... I don't know what you are talking about...
Anyway : I hace already tried my programm :
1) on two Athlon1700+ with Win2000 : it goes fast
2) on a Celeron750 with WinME : it goes fast
3) on a Athlon1500+ with WinXP : it uses GDI Generic
4) on a Duron1200 with WinXP : it uses GDI Generic

Thank you for any help!!!!

05-13-2003, 04:02 AM
you should check your screen resolution.
you ask windows for a 32 bits window but if your desktop resolution is different, your application fall back in software mode.

05-13-2003, 04:28 AM
What video card(s) are you using? Perhaps your card doesn't have very good OpenGL drivers for XP.

05-13-2003, 11:39 AM
my video card is a GeForce 2 MX 200 but i'm not sure there's a problem with my video card because it worked with win2000 or win98 (and i downloaded the last drivers)
could it be a good idea to download the last version of opengl32.dll ?
about the resolution, i always use 24-bit color depth in the program. why does winXp switch to GDI generic renderer and win2000 or win98 don't ?
I also read something about a conflict between old versions of glut32.dll and winXP. Where can i download the last version of glut32.dll (mine is 3.7.6 from Nehe's page)?
last request : i tried another program that you can find at the URL : http://www.sulaco.co.za/opengl/tunnel.zip
there's the same problem : could anyone try it with winXP and tell me if the FPS is greater than 10 ?

thx a lot !