Archived

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

Gandalf

Frame rate

Recommended Posts

In a very simple demo application I have done the frame rate changes from time to time. Is this normal? Gandalf the White

Share this post


Link to post
Share on other sites
if the range of change is more than you want, try locking it at whatever fps you think is good for your program. if you don''t lock it, the fps will range a little. not more than a range of 4 or 6 fps.

JoeMont001@aol.com

Share this post


Link to post
Share on other sites
Here is a little test!

The program renders 10 seconds and produce a averange medium value.

56 / 194
53 / 200
57 / 200
53 / 203
59 / 196
52 / 193
59 / 196
53 / 197
56 / 204
54 / 200

The first value is D3DRM and the second is OpenGL.

I use Direct3D HAL with D3DRM and my OpenGL device is
NIVIDIA Riva TNT/Pci.

What do you say?


Gandalf the White

Share this post


Link to post
Share on other sites
d3drm s###ck!.

Use instead d3dim or opengl.

The change in framerate is normal. Only if you manage a isometric graphics, you can expected the same framerate (in the case of the cube-rotation for example).
And this framerate (down 60hz) may be because the vsync (flip). And with vsync, you cannot reach more that 60fps (or another depend uppon monitor configuration)




-eng3d.softhome.net-

Share this post


Link to post
Share on other sites
You know what? I make one tiny, little change in d3drm just one second from now... and gues what!!!

BOOOMMMM!

Framerate before = 56.
Framerate now = 145.



No!

Framerate before = 56.
Framerate now = 214.




Gandalf the White



Edited by - Gandalf on June 20, 2000 11:16:16 AM

Share this post


Link to post
Share on other sites
I never got the concept why someone would want more than 60 FPS. It''s smooth and anything above 75 FPS will be a blur on the screen. Maybe I''m just not a performance junky.

Share this post


Link to post
Share on other sites
Since greater than 100 FPS is certainly not needed. You can lock it at whatever you like, and then do calculations on other game data while it''s waiting. This keeps everything running smoothly.

JoeMont001@aol.com

Share this post


Link to post
Share on other sites
Gandalf, obviously I have no idea why your framerate plunged with D3DRM, but regarding the fps deviations, I''d say they are minor and normal.

GoofProg and Julio, I see no reason to ever limit an app''s framerate, besides waiting for the monitor vertical refresh. Julio is probably right that anything beyond 100 fps doesn''t help aesthetically, but don''t forget that physics and collision are also improved when performed over a smaller "delta time".

Share this post


Link to post
Share on other sites
WOW!

what changes did you make?


tucek

quote:
Original post by Gandalf

You know what? I make one tiny, little change in d3drm just one second from now... and gues what!!!

BOOOMMMM!

Framerate before = 56.
Framerate now = 145.



No!

Framerate before = 56.
Framerate now = 214.




Gandalf the White



Edited by - Gandalf on June 20, 2000 11:16:16 AM


Share this post


Link to post
Share on other sites
Straight from the DX SDK

HRESULT WaitForVerticalBlank(
DWORD dwFlags,
HANDLE hEvent
);


BTW.. I am not into simulating the real world..I''m into game creation! 3D games are dominating the gaming world but 2D games still ROCK! =) ... call me stupid if you like.

Share this post


Link to post
Share on other sites
Sorry GoofProg , but I need a general method that works irrespective of API.

Thanks anyway.

Edited by - Gandalf on June 21, 2000 8:49:16 AM

Share this post


Link to post
Share on other sites
quote:
Original post by GoofProg

I never got the concept why someone would want more than 60 FPS. It''s smooth and anything above 75 FPS will be a blur on the screen.


Why do you say that? If it''s above 75 FPS you will just see it as equal to your monitor''s refresh rate. There''s not really any negative effects of too high a frame rate.

Whereas I would agree that a massive frame rate is not important in itself, the point is generally that you are going to start adding monsters, AI, sound effects and so on to this game. And more detailed environments. So an engine that starts off at 60 FPS in testing might slow to 20 FPS when there are 10 monsters onscreen.

Having said that, I can''t help but think that there are too many people just making Another 3D Engine (TM). In modern games, a degree of 3D knowledge is useful, but not everyone will be programming their own 3D engine, and licensing existing ones is going to become more popular, I think. I''d be happier if these people were writing new games. An engine doesn''t go very far without its accompanying car

Share this post


Link to post
Share on other sites
My point was that you can''t use the vsync() function (vertical retrace) as a timer. It should be used in top of a timer. The reason for this is that different computers have different vertical retrace rates making the timer pointless.

JoeMont001@aol.com

Share this post


Link to post
Share on other sites
Julio, don''t give him any stupid ideas, please!

Locking the framerate is about as smart as walk across a highway with lots of traffic in the dark!
Why would he want to limit the framerate?? Just update the game status in a specified interval. Locking the framerate causes a lot of other strange problems, such as slow mouse response etc.
The easiest (well, maybe not that easy, considering multithreading issues) is multithreading, where you put the different tasks in separate threads.


Regards,
Laarz

Share this post


Link to post
Share on other sites