• Advertisement

Archived

This topic is now archived and is closed to further replies.

low fps with 1152 by 864

This topic is 5861 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I drop to 20 fps at 1152 by 864 with one low polygon but large object. I have 80 fps with a smaller window. (NOT FULL SCREEN) Though professional game (using directx) seems to be reaching a faster rate with the same resolution (example flight sim 2002) What slows the frame rate so much, is there a way to setup the window that makes it faster?

Share this post


Link to post
Share on other sites
Advertisement
Ok, first of all, your application may be simple, but it''s probaly horbably complex for what''s needed. The games that run beautifully spend the majority of their time optimzing code, removing as many calculations and if statments from the primary loop (i''m refering to a normal loop of all functions normally called, not just the main loop)

Also, the reason why the fps drops when boosting the image from small box (even thought you desktop is running at the 1152x864) to being fullsceen, is that the cpu,ram,and video card have to store a data structure (4 byte color = 32 bit color) 1152x864x4 = 3981312 bytes = 3888 kb = 3.79 MB!!!!!

on the other hand a 640x480x4 = 1228800 bytes = 1200 kb =1.1 mb

Now the computer has to create, store, transfer across a bottleneck, and then put it in video memory all inside 1/30th a second,this is way a game will run amazinly great at lower res

Mind you current agp buses run gigbit transfer rates per second so this is way all this is possible

Ok, now that we got that, these are optimal conditions, this isn''t taking into account, a cpu behind the graphics card (this actually happens at the lower resolutions), then you get the oppisite whihc is what would be happening at your res, a bottleneck across the agp, and the graphics card. That''s why a p4 with a geforce 3 ti 500 will get almost the same fps as a athlon with the same card in any game around 1600x1200

Personally I''ve tried doing video at res at 800x600x32 and it requires not only a beefy system(700mhz+), it also requires insanly efficent coding to get it to play right.

-Scott

Share this post


Link to post
Share on other sites
80 fps with smaller window? by any chance is it 25% the size of the fullscreen res and maybe 16bit instead of 32bit. you are using vertex buffers correct? and when i mean suing them i do mean correctly following the guidlines (just read the many messages here on gamedev (use that search function)).

also check the number of VERTICES which is more important then the number of polygons since they dictate how much calculations are done for the transformations. (though i think your stuff is a pure fillrate issue).

LOWORBIT:
by the way, a d3d game accelerated by hardware does not have the same fillrate issues that you seem to imply. the agp bus has NOTHING to do with the fillrate limitations of a card nor effects teh framerate in anyway if all the data is on the card already (which in his case is very possible). a small texture and a small amount of vertex data could easily only require a single transfer to the card. even if thats not the case, it will hardly kill performance. i have easily transferred 256x256x32 textures that get updated every frame keeping very high framerates (this is on a voodoo2 over a pci bus on a p2 266). granted the animated texture only filled the screen once and was applied to 2 quake2 models which filled the screen quite well.

800x600x32 does not require ANY fast cpu whatsoever, its purly a fillrate issue and lies soly on the card to handle. the only thing the apg bus is a bottleneck for is transfering textures (which should for the most part remain in the VRAM anyway) and transfering vertex data. on a non TnL card the cpu will then also have to deal with transforming the data BUT that still is not affected by the bandwidth like you seem to think. in fact in a pure graphics demo where no to very few calculations are occering. nearly any system with a geforce3 will have similar framerates. since its all on the card for doing the work and NOT the bus nor the cpu.

to reiterate (this applies only to when using 3d accelerators), colordepth only affects the video card! cpu has nothing to do with it. the agp bus only gets affected if you are transfering textures (which should not be too often) and vertex data. in fact some video cards handle 32bit better then 16bit at certain resolutions because of the fillrate issues. it all matters how the video card was designed.

Edited by - a person on February 3, 2002 1:50:08 AM

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
> 256x256x32 textures that get updated every frame keeping very high framerates (this is on a voodoo2 over a pci bus on a p2 266

The Voodoo2 does not support 32bit textures. So you are transfering 256*256*16 textures, after they have been downsampled by OGL/D3D.

Share this post


Link to post
Share on other sites
I use the basic code that I found on nehe.gamedev.net. It is setting the basic window and the basic opengl... But I look into it (vertex buffer) thanks, a person.

Share this post


Link to post
Share on other sites
dragon376 what card do u have?
all cards will run slower when theyre drawing into a larger window (though not if theyre cpu/geometry limited) but in this case u aint (thus vertex arrays aint gonna help)
were all tests run in the same colour depth ie were they all 16bit or 32 bit colour

1152x864x16 = how many fps?
640x480x16 = how many fps?

http://uk.geocities.com/sloppyturds/gotterdammerung.html

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Smells very fillrate limited.

Share this post


Link to post
Share on other sites

  • Advertisement