Threading/ Pausing in games

i really know that this is often a discussed topic but i really need to get a bunch of suggestions and a real focus:

a simple action-game (not referring to heavy-weight-ai -games) usually has one additional thread - if you not count mouse etc. this is usually the game logic/ repaint thread.

AHAHAHAHAA !!
hate it, when the textfield losts focus and i press enter for newline. sorry. :-[

back to topic.

the thread can be easily controlled with a sleep command to get a framerate according to your fps wishes.
now many people think that its a horrible waste of resources
to send a program in “sleeping mode”.
they advice to measure the tick-speed and to scale the movement according to the passed time.
moreover there are voices who take an additional thread to separate drawing from gamelogic.

as a user of thread.sleep ;D im always satisfied to read in game books, that this is a common way (e.g. brackeen).

comments and experiences are very welcome !

Mostly in the past its not really been the loss of resources (infact its good if your game doesn’t take up every bit of CPU) but the resolution reliability of sleep. It can be up to 5ms (?) out of the time you actually request which of course can screw up your FPS and animation (if you’ve based it on a known constant FPS rather than time passed).

Myself, I quite liked the GAGE system which loops on a Thread.yield() waiting for a given time to be up. This releases some resource while still keeping accurate time.

As to multiple threads in a game, I’ve tried it many times for lots of decent reasons (at least I thought so at the time). Its just more hassle than its worth. I just use a Pollable interface these days and make each component implement it. This is obivously not to say that I think Threads are bad in the general case.

Kev