Windows opengl is being a total pain, help

ok, im tryin to make a game in win32 (real win32, not console) and it seems that even w/ a gfx accelerator (an ati rage pro but still, an accelerator) im gettin horrendous performance. my prog does what a windows ogl program is supposed to do, it uses the default opengl32.dll and all, it gets an RC and starts drawing stuff into it… is there any way to get REAL performance w/ opengl in a windows program? (i.e. Halflife, 3d shooter performance) plz help!!!

btw, is it because im not using display lists? but im not even rendering more than 200 triangles, so no matter what, it shouldnt be that slow, right? and how are display lists suppose to increase my horrendous fps (about 20!) even when i plan to render 1000’s of triangles?!! or is it cuz my program is using the gdi and if so, how would i bypass that and take control of the display hardware for my program’s exclusive use?
plz, i just wanna know how a REAL game would set up its rendering engine, and manage to have the resources and speed to render so many polys

3 things.

  • with pure GDI You don’t get 20 fps
  • always use display lists! this should speed it up very much
  • use fullscreen modes!

Another thing you can try is to quicksort your polys by texture…then bind the texture, draw all polys that use that texture, bind the next texture, draw all of those polys.

I know that Quake3 uses this method, and I’ve heard that it can boost performance. So, if nothing else seems to work, give it a whirl?

Also, you aren’t trying to run and some crazy resolution are you? If your program is running in a similar resolution and color depth of, say, Half-Life…and you are getting significantly worse performance, then must be doing something not quite right ( sorry, that’s probably obvious, but wanted to add that anyway… )

Oh, another thing I thought of, Quake3 doesn’t clear the color buffer ( if you’ve ever no-clipped out of the world, you’ll notice weird hall of mirror type effects in areas that aren’t rendered because of this ). Of course if you don’t clear the color buffer, you need to make sure that you are rendering every pixel ( completely enclosed worlds ) otherwise it will look crappy. Anyway, this is another thing that might give a slight performance boost.

about this fullscreen mode, do you simply mean a regular window made to have no title bar and borders, etc. and then resized to fit the entire screen or are we talking about some more exotic settings here?

if U use the software OpenGL provided by Microsoft, that’s normal. In the directory of your application, place the ATI driver and rename it opengl32.dll, so U’ll use the ATI driver. Or if you want to have software OpenGL, use the SGI one, it’s a litte better, and the rendering is sometimes more “precise”.

driver? where do i download this driver? i downloaded the official ATI driver which supposedly supports an opengl IDE but its just a self-installing exe file… i dont know where this driver file would be

Have you tried glsetup ? (http://www.glsetup.com)

–> Divide Overflow
“I’m not a bug, I’m a feature”

yea, i downloaded the drivers but where is the file on my harddrive? i dont even know the name of the dll…

It was installed here in C:\Program Files\GLSetup[drivername]\

–> Divide Overflow “I’m not a bug, I’m a feature”