PDA

View Full Version : FPS so low...



xill
05-15-2002, 01:45 PM
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).]

yakuza
05-15-2002, 03:24 PM
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).]

xill
05-15-2002, 11:19 PM
Well hmm, i dont really use bitmap fonts, cuz i dont load the font from a bitmap http://www.opengl.org/discussion_boards/ubb/smile.gif

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

xill
05-16-2002, 12:04 AM
Ok that article helped me out, and indeed, im not doing texturemapped fonts, and i should try that..

thx and :x

Deiussum
05-16-2002, 04:41 AM
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.

saian
05-16-2002, 04:57 AM
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.

Deiussum
05-16-2002, 06:54 AM
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.

nomad
05-18-2002, 01:25 AM
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???

Michael Steinberg
05-20-2002, 05:19 PM
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.

Deiussum
05-21-2002, 04:24 AM
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.