BGE: New function GameLogic.setMaxLogicFrame() to allow better control over the time...
authorBenoit Bolsee <benoit.bolsee@online.be>
Fri, 1 May 2009 16:35:06 +0000 (16:35 +0000)
committerBenoit Bolsee <benoit.bolsee@online.be>
Fri, 1 May 2009 16:35:06 +0000 (16:35 +0000)
commit672492f563e148dc608965c5d0011413fbfae0eb
tree57aa0b79b8de32cef7ce3dee32e6013045e30d76
parent1c6cd47f2b93ba05c54f82c9363f269c71e28cda
BGE: New function GameLogic.setMaxLogicFrame() to allow better control over the time spent on logic.

This function sets the maximum number of logic frame executed per render frame.
Valid values: 1..5

This function is useful to control the amount of processing consumed by logic.
By default, up to 5 logic frames can be executed per render frame. This is fine
as long as the time spent on logic is negligible compared to the render time.
If it's not the case, the default value will drag the performance of the game
down by executing unnecessary logic frames that take up most of the CPU time.

You can avoid that by lowering the value with this function.
The drawback is less precision in the logic system to physics and I/O activity.

Note that it does not affect the physics system: physics will still run
at full frame rate (actually up to 5 times the ticrate).
You can further control the render frame rate with GameLogic.setLogicTicRate().
13 files changed:
source/gameengine/Ketsji/KX_KetsjiEngine.cpp
source/gameengine/Ketsji/KX_KetsjiEngine.h
source/gameengine/Ketsji/KX_PythonInit.cpp
source/gameengine/Physics/BlOde/OdePhysicsEnvironment.cpp
source/gameengine/Physics/BlOde/OdePhysicsEnvironment.h
source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.h
source/gameengine/Physics/Dummy/DummyPhysicsEnvironment.cpp
source/gameengine/Physics/Dummy/DummyPhysicsEnvironment.h
source/gameengine/Physics/Sumo/SumoPhysicsEnvironment.cpp
source/gameengine/Physics/Sumo/SumoPhysicsEnvironment.h
source/gameengine/Physics/common/PHY_IPhysicsEnvironment.h
source/gameengine/PyDoc/GameLogic.py