4
\$\begingroup\$

I'm writting a code in OpenGL and using two computers - an old and a new one.

On the old computer (which I use for debugging/creating implementation for the old GL) I have GeForce 5500 FX. Before windows reinstall on it, I had NVIDIA drivers with OpenGL 1.5. And everything worked perfectly. Games made quite good FPS, even with dozens or hundreds sprites.

However, after XP reinstall, I installed the drivers provided with my video card but it seems there's no OpenGL at all (mysterious 'GDI Generic' renderer). So I tried to download the newest NVidia drivers. After their installation I saw there's OpenGL 2.3 but when I runned my app it worked with extremely low FPS (about 0.25, I mean I had to wait four seconds for any app reaction) with only one sprite. And as I loaded smaller images, the FPS relatively increased, but on the new computer it's always (no matter how big and how many sprites) speed, so it must be the perfomance problem. Without any sprites, it seemed it worked normal, but game without graphics doesn't make any sense.

That's why I downloaded the oldest drivers for NVIDIA GeForce 5500 FX I found on the Nvidia site. But they're still providing OpenGL > 2.0 (2.1 exactly). The problem's the same.

I also tried to change all the properties of OpenGL to increase performance but it didn't help too.

So what can I do? I'd like to find drivers with OpenGL 1.5 but it seems they're not on the NVIDIA site and most people say it's the best to download they from there.

\$\endgroup\$
8
  • \$\begingroup\$ Is this an application you are developing, or you downloaded? If it's one you made, what framework are you using for the OpenGL interface? \$\endgroup\$
    – Breakthrough
    Aug 8, 2011 at 19:43
  • 2
    \$\begingroup\$ Yes, it's written by me. This is actually framework for 2d games that uses OpenGL and SDL. (I mean what I'm writting is a framework) \$\endgroup\$
    – somnock
    Aug 8, 2011 at 19:46
  • \$\begingroup\$ Just curious, I'm writing an SDL application right now as well. Are you using any OpenGL extensions in your application, or is it strictly textured (obviously with a few vertices)? \$\endgroup\$
    – Breakthrough
    Aug 8, 2011 at 19:53
  • \$\begingroup\$ I'm not sure. Are you asking about something like VBO? If yes, I'm not using such things. I just use textured quads to display loaded images. \$\endgroup\$
    – somnock
    Aug 8, 2011 at 19:57
  • 4
    \$\begingroup\$ The Super User version of your question was migrated back to GameDev because the problem seems to be more about how you are writing code, than about how the drivers are set up. I recommend editing it to make it more clear what you have done, and also please do not cross-post. \$\endgroup\$ Aug 8, 2011 at 22:25

3 Answers 3

5
\$\begingroup\$

The problem is most likely that you're using non-power-of-two textures. The drivers for the GeForce FX series support these texture sizes, but will force your program to run in software mode. If this is the case then you'll need to use power-of-2 texture sizes (2, 4, 8, 16, 32, 64, etc) instead.

\$\endgroup\$
4
\$\begingroup\$

It sounds like the 2nd machine is doing software rendering - hence the slow frame rate.

I'd check that the new version of OpenGL is detecting the card properly. It could be that it thinks that it doesn't support OpenGL fully - or at least the bits you are using - hence the fall back to software.

Do other applications that use OpenGL work OK?

If it's just your program it could be the way you are initialising OpenGL. I'd post a question on Stack Overflow - with the code.

\$\endgroup\$
2
  • \$\begingroup\$ You're right, one of the games (Commandos) using OGL works properly. In "OpenGL Extensions" application I can see detected video card - GeForce FX 5500/AGP/SSE/3DNOW!. So does it mean that it's not using software rendering? Or I should check it in a different way? \$\endgroup\$
    – somnock
    Aug 8, 2011 at 20:42
  • \$\begingroup\$ @somnock - it sounds like your application isn't initialising OGL correctly. Been a while since I did any of this so I can't offer concrete advice. Post your code on Stack Overflow or try creating a new application and see if that works. \$\endgroup\$
    – ChrisF
    Aug 8, 2011 at 20:44
1
\$\begingroup\$

Nvidia have an entire archive of all their older driver versions that you can find at their Windows XP/2000 Driver Archive

Specifically this version (71.84) Claims to have OpenGL v1.5 so if you want to give it a shot with an older version to see if that truly is the problem then there is nothing actually stopping you.

\$\endgroup\$
2
  • \$\begingroup\$ Okay, but will they work with the 5500 FX version? I'm asking, because when use this old/beta drivers finder (with windows xp) it seems to not detect version mentioned by you. \$\endgroup\$
    – somnock
    Aug 8, 2011 at 20:18
  • \$\begingroup\$ The Release Notes do list the FX 5500 as being supported, page 24 if you're interested. Seems that above version 80 you get OpenGL V2. \$\endgroup\$
    – Mokubai
    Aug 8, 2011 at 21:52

You must log in to answer this question.