Hi !
Featured games (91)
games approved by the League of Dukes
Games in Showcase (757)
Games in Android Showcase (229)
games submitted by our members
Games in WIP (844)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Regarding Frame Rate  (Read 1550 times)
0 Members and 1 Guest are viewing this topic.
Offline Agro
« Posted 2013-01-26 01:21:27 »

I've really been looking into frame rate in my games for some time, and now its really bugging me. I've been doing many different methods of keeping frame rate, and I can't find a single one that is effective and precise. This is the one I'm using right now:

I've also noticed that when entities disappear from the screen(they're still being updated and rendered, just not visible to you), the consistency of the frame rate starts improving.

So, I'm looking for a few things here:

1. What is the best way to handle frame rate?
2. A good way to handle and store entities. I use an ArrayList and I just loop through them two times to render and update.

Its been really bugging me for awhile, especially when there are about 50 entities on the screen.

Please help D:

Offline Best Username Ever

Junior Devvie

« Reply #1 - Posted 2013-01-26 05:18:07 »

That's lag. You are taking to long to draw things sometimes. Changing the game loop won't help.
Offline Ultroman

JGO Knight

Medals: 25
Projects: 1

Snappin' at snizzes since '83

« Reply #2 - Posted 2013-01-26 06:00:49 »

For calculating framerate and running a gameloop, this is what I use. Works wonders for me. It was written for Java2D, which I'm assuming you're using due to your problem-description.

Hope it helps.

And if your entities are still being updated and rendered when they're not visible, you should probably do something about that. I don't do a draw-call on entities that are not on the screen, and if they're more than 200px outside the screen, I don't even run update(deltaTime) on them. Saves a lot in a big world.

- Jonas
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline philfrei
« Reply #3 - Posted 2013-01-26 10:26:54 »

You might consider making the game loop a util.Timer. You can specify the exact repeating time interval as a parameter. But if you take too long to render, the timing will be thrown, just as it is in a game loop.

Some folks don't like Timers, and the swing.Timer is very problematic as the EDT gets clogged up pretty quickly. But "Killer Game Programming" seems to demonstrate that a util.Timer is a reasonable option, even if it isn't their first choice. I don't know why more people don't use them. Fear of multithreading? That seems misplaced to me, since a new thread isn't launched until the previous one completes.

music and music apps:
Pages: [1]
  ignore  |  Print  

EgonOlsen (45 views)
2018-06-10 19:43:48

EgonOlsen (25 views)
2018-06-10 19:43:44

EgonOlsen (47 views)
2018-06-10 19:43:20

DesertCoockie (202 views)
2018-05-13 18:23:11

nelsongames (127 views)
2018-04-24 18:15:36

nelsongames (126 views)
2018-04-24 18:14:32

ivj94 (867 views)
2018-03-24 14:47:39

ivj94 (128 views)
2018-03-24 14:46:31

ivj94 (771 views)
2018-03-24 14:43:53

Solater (143 views)
2018-03-17 05:04:08
Java Gaming Resources
by philfrei
2017-12-05 19:38:37

Java Gaming Resources
by philfrei
2017-12-05 19:37:39

Java Gaming Resources
by philfrei
2017-12-05 19:36:10

Java Gaming Resources
by philfrei
2017-12-05 19:33:10

List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!