FPS so low...

I was drawing a scene and i got 50 fps.
I thought this was kinda low, but before i was gonna look for a way to get it up iwth that scene I was just gonna look at the FPS when i was drawing only the FPS… and yes well it was only 60! I have a GeForce 2 and in quake i get over 200 FPS…

if an almost empty screen here only gets 60 how am i supposed to draw a decent scene, i mean its just kinda like the NeHe basecode nothing special happens no calculations or something so weird

i suppose the real NeHe code gets low FPS as well then…

so whats the difference between this initializing code and those from games or demos with higher FPS?

btw im fullscreen, so the only thing you see is the text: FPS: 58-62 something like that

[This message has been edited by xill (edited 05-15-2002).]

I think the bitmap fonts Nehe uses in the tutorial is pretty slow, at least that’s what I discovered when I used that method.

Texture-mapped fonts are a lot faster, here’s a good page describing different methods. Hope it helps!
http://www.sjbaker.org/steve/omniv/opengl_text.html

[This message has been edited by yakuza (edited 05-15-2002).]

Well hmm, i dont really use bitmap fonts, cuz i dont load the font from a bitmap

I use the CreateFont method so that i can have any font i want but maybe thats slow as well

Ok that article helped me out, and indeed, im not doing texturemapped fonts, and i should try that…

thx and :x

You also could have vsync turned on. 60 is about what you would get if your monitor is running at a 60hz vertical refresh, and vsync is on. Somewhere in the display panel you can turn that off and see what you get then.

mmh Deiussum,

i don’t think you’re right 'til i have seen demos that display a rate of more than 300 images per second. So, even if my monitor is a 85Hz, i could see it.
This could be explain by this: when you display, you don’t display it with a total synchronization with your monitor: if you could display 100 im/sec with a rate of 50 on your monitor, then you want to display 2 images as well your monitor could draw one. so, you could see 100 even if you only are effectively, (unknownly ?) in 50 im/sec.

Saian,

There is an extension you can use to disable vsync. Demos you’ve seen that go higher than your refresh rate probably use that, or you’ve already got it turned off in your display driver settings.

Disabling vsync may appear to give your framerate counter higher numbers, but in fact you aren’t actually displaying that many frames. If your monitor is set to only refresh 60 times per second, or 85 times per second, you can’t physically force it to display more frames than that as you will be changing to a new frame before you’ve even finished drawing one. At times disabling vsync can also cause animation tearing.

yes, i tried using wglFontBitmap() (is that right? I’ve forgotten already…) and it slowed my FPS down A LOT…of course when i tried it, i was using an old Pentium 2 with 32mb s3 savage4 video card…

one thing i don’t understand is, in the tutorial, the fonts are stored in a display lists, aren’t display lists supposed to be fast? so how come drawing fonts using wglFontBitmap() in display list is slow???

As the name of the function supposes it’s using the bitmap stuff built in opengl this is probably the reason. Bitmap stuff at least was incredibly slow.

Display lists CAN speed things up, but just because you put something in a display list doesn’t mean you are doing it the fastest way possible. In this case, the display list is still doing bitmap stuff. If you did it as textured quads in a display list, I think you’d see more improvement.

BTW, in this case bitmap means a true bitmap. 0 for a pixel that’s “off” 1 for a pixel that’s “on”. That’s different from a BMP file format, where you have BGR data.