Sign in to follow this  

Why is this eating so much FPS?

This topic is 4837 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

Hello, I´m rendering a simple piramid. Its material is just a diffuse color, it doesn´t have texture, etc.... And it has only 8 polys. If I see the pyramid from the far, I get a nice 300 fps, but as I get closer fps are decreasing, but not just a little, when I´m really close, I get 130 fps. Is this something that should happen?, I think, it doen´t. Thanks in advance, HexDump. [Edited by - HexDump on September 15, 2004 4:13:39 AM]

Share this post


Link to post
Share on other sites
I have a ATI RADEON LE. It is a slow card, but not this slow :).


And Yes, I think it is a fill rate problem too, but don´t know where to look to fix it. Any Help?

Thanks in advance,
HexDump.

Share this post


Link to post
Share on other sites
What are you doing each frame? Simply calling DrawPrimitive? Or are you creating and destroying the vertex buffer? And what states are instantiated, such as filtering and alpha blending? And how big is your back buffer?

Chris

Share this post


Link to post
Share on other sites
Although it might be problem with your video card / program, could it just be the way that fps is measured ?

I read the following yesterday and was quite surpised :

http://www.mvps.org/directx/articles/fps_versus_frame_time.htm


Wyzfen

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Doesn't sound like a fillrate problem , cards have been filling the screen since 1980's :) ... The overdraw of rendering a pyramid seems trivial. It's funny how people will instantly assume it's their crappy hardware and not their crappy coding. Just think for a second, if you cannot get 4 triangles to render at lightning speed on the screen which is a feat Macromedia Flash can deliver, then its your code ... So the simple answer to your question is POST SOME INNER LOOP RENDERING CODE. I agree with Supernat02, sounds like your destroying and creating objects/buffers every frame. What I would suggest to do is check out the simple DX tutorial examples that come with DX9 SDK, they have simple triangle rendering code. Try that, add some more triangles, till you get a pyramid and then voila, see if your still having the same problems.

Share this post


Link to post
Share on other sites
Overdraw causes fillrate issues.

And even if he would recreate buffers every frame, it wouldn't impact framerate according to view point distance.

If this is with DX, you could try out disable specular, alphablending, lightning, texture etc..

Share this post


Link to post
Share on other sites
If he's running that card at 1600x1200, he may have a fillrate problem. Cards may have been filling the screen since the 1980's, but the screens didn't have so many pixels until recently. ;-)

Share this post


Link to post
Share on other sites
well, I can render for example a 40000 faces mesh (not all tris seen) and I get 125 frames. The problem is when I get really close to the polys.

HexDump.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
OK back to reality ...

quote:
If he's running that card at 1600x1200, he may have a fillrate problem. Cards may have been filling the screen since the 1980's, but the screens didn't have so many pixels until recently. ;-)

hmm, I realy doubt he's running @ 1600x1200 resolution. Nice try though.

he has no texturing, its a simple 8 triangles ... so you are telling me he's fillrate limited ? For this case, that is the dumbest thing I ever heard (unless he has culling disabled, but I don't think that will hamper things).

quote:
well, I can render for example a 40000 faces mesh (not all tris seen) and I get 125 frames. The problem is when I get really close to the polys.

lets focus here, he's not rendering 40000 face mesh. If he is fillrate limited it is because it's self inflicted not because his hardware can't handle it. GET A GRIP PEOPLE.

anyway enuf bickering ... if he can post some code that would help lots.

Share this post


Link to post
Share on other sites
You know, if he is running at 1600x1200, and is getting 130 FPS with a full screen drawn, and with overdraw and no back-face culling, that could easily get up to around 500 megapixels per second, around the fillrate of his hardware. Programs have been filling the entire screen since the 80s, but not at high resolutions, multiple times per frame, at 130 frames per second. I could easily imagine that this is a fillrate limit, partially caused by abusive overdraw.

Share this post


Link to post
Share on other sites
The problem is fillrate. The performance decreases only when the polys get closer to the screen. He might be even destroying and recreating the vertices each frame, but it doesn't change the fact that the fps is decresing when there are more pixels to draw. Stop worring about performance till you have actually something, where performance might be an issuse. You are drawing some polys and you have a crappy video card, so you are fillrate limited. You draw them closer, so you have twice as much pixels to draw, so you have half the performance assuming that you are still fillrate limited. Easy.

Share this post


Link to post
Share on other sites
So HexDump, you didn't really answer anyone's questions. We're all obviously curious what resolution you're running at among the other things that were asked of you. If you want us to help, we have to know more about this problem, although it definitely looks like a fillrate issue.

Chris

Share this post


Link to post
Share on other sites
Hello,

Sorry, but I have been out all day. First I´m running in windowed mode at 800x600. I´m not destroying vb/everyframe. I noticed that I left Culling to None, I fix it and now I get some more fps, about 200, but is this ok?.

Sorry for the waiting,
HexDump.

Share this post


Link to post
Share on other sites
Quote:
Original post by HexDump
but is this ok?.


if you game is playable to your satisfaction then it's ok. typically games shoot for 60FPS. your's is well above that so i'd call it OK. i really wouldn't worry about this stuff till you have some game coded that's more involved than a pyramid. at that point you can run a profiler if your game is dropping below your target framerate and figure out where the bottle-necks are. I also wouldn't bother with using windowed mode as your benckmark unless that's really how your game will be played. windowed mode is significantly slower than fullscreen so that could very well be your problem right there. test it in full-screen and see if the problem remains.

-me

Share this post


Link to post
Share on other sites

This topic is 4837 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.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this