WinXP slow??

hello!
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!

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?

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?

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).]

Here is my function WinMain :

"
char str[256];
glutInit(&argc, &argvpt);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH );
WindowWidth=800;WindowHeight=600;
glutInitWindowSize(WindowWidth,WindowHeight);
glutCreateWindow(“PIOU”);
sprintf(str, “PIOU” “: Renderer: %s, fps= %n”, glGetString(GL_RENDERER),&xXDS);
glutSetWindowTitle(str);

init();
InitJeu();

glutDisplayFunc(Display);
glutReshapeFunc(Reshape);

// glutKeyboardFunc(Keyboard);
glutMouseFunc(mouse);
glutMotionFunc(Motion);
glutIdleFunc(Display);
// glutFullScreen();
glutMainLoop();
return 0;
"

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

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 :

"

PIXELFORMATDESCRIPTOR pfd;
int pixelformat;

ZeroMemory(&pfd,sizeof(PIXELFORMATDESCRIPTOR));
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.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER; 
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 !

Do you have 16bit desktop in your XP, and 32bit on the other computers?

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!!!

Hello!
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.

What video card(s) are you using? Perhaps your card doesn’t have very good OpenGL drivers for XP.

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 !