diff options
author | Mitchell Stokes <mogurijin@gmail.com> | 2011-07-14 11:03:33 +0400 |
---|---|---|
committer | Mitchell Stokes <mogurijin@gmail.com> | 2011-07-14 11:03:33 +0400 |
commit | ad08de4c2afda4456585f6e9bb462be1143f9c14 (patch) | |
tree | 7393dad9f2c76c6d2e36d485698ba7b2ecb53f11 /source/gameengine/Ketsji/KX_Scene.h | |
parent | d838d82151efaa801276db0f0c972b5bbc8f1876 (diff) |
BGE Animations: Now animations are only updated based on the set animation speed. This offers a significant performance increase (about 2x fps in my animation stress tests) for cases such as the defaults: 60fps logic and 30fps animations. This means that animations now only have to be updated half the time. I've also added Animations as a profiling category. This is the time spent in Blender's animation code, and not in the BL_ShapeDeformer (the mesh deformation). I'd like the add the deformation too, but right now it's counted in the rasterizer, and I don't see an obviously clean way to have it counted as animation instead. I'll investigate more.
Diffstat (limited to 'source/gameengine/Ketsji/KX_Scene.h')
-rw-r--r-- | source/gameengine/Ketsji/KX_Scene.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/gameengine/Ketsji/KX_Scene.h b/source/gameengine/Ketsji/KX_Scene.h index 367bf0b82da..da9cc12c76a 100644 --- a/source/gameengine/Ketsji/KX_Scene.h +++ b/source/gameengine/Ketsji/KX_Scene.h @@ -340,6 +340,7 @@ public: */ void LogicBeginFrame(double curtime); void LogicUpdateFrame(double curtime, bool frame); + void UpdateAnimations(double curtime); void LogicEndFrame( @@ -565,6 +566,8 @@ public: void SetPhysicsEnvironment(class PHY_IPhysicsEnvironment* physEnv); void SetGravity(const MT_Vector3& gravity); + + short GetAnimationFPS(); /** * Sets the node tree for this scene. |