Quote Originally Posted by User137
To add; the game was very smooth to play but it use 50% cpu power that is like full capacity of other core... well it divided like 15% and 85%, don't know why.

Edit: Also Delphi 7 compiled and run the game from source without any issues
Correct. The game uses all cpu time what it gets because there's is no anykind of idling at the game loop. If you look the sources there's a Sleep(1) routine defined at the very begining of the timer update method, but it's commented out. It can be uncommented and re-compiled when game will use much less cpu cycles.

Also there's a SetThreadAffinityMask() routine at the begining of the application (in MyGame.dpr) which is commented out. It sets thread to use one cpu-core only. I used it earlier when game used QueryPerformanceCounter() for timing. But now, when only multimediatimer is used there's no worry about that timer will get incorrect values from cpu (if cores are not in sync). The system handles that how processor load is shared between the cores.

Nice to hear that it compiled fine.

Paul, I find out also a one computer where was a 1000fps, but the movement of the shuttle was littlebit jerky. It stopped animation for a blink of an eye and then catched up the time by speeding up the animation to way too fast and stopped again and speeded up again and so on and so on....

I have no idea what causes that kind of behavior because most of the computers which I have been tested 'game' works all right.

I still keep studying about the timers if I could make it even better. For the game loop itself I have couple ideas. It could be optimized by measuring the speed of the computer, core count and etc. and setting some variables based on that so, they can be used for setting the idling times and etc. Make some estimations if I would say.