PDA

View Full Version : WinXP slow??



05-12-2003, 11:02 AM
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! http://www.opengl.org/discussion_boards/ubb/smile.gif

mako
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?

shinpaughp
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 );
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!

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 :

"

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 !

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

errno
05-13-2003, 04:02 AM
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.

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