← All ideas
  • Published 16 Jun 2024

Stop calculating mesh deformation and auto shade smooth when the armature is temporarily stationary.

When adding keyframes to a bone in Blender, the FPS will drop even if the model is static. Blender still calculates each face deformation, shade smooth, and so on in every frame.

When I export the project to C4D, I get the same FPS when the model is moving. However, when the model stops for a while, the FPS immediately increases. This means that C4D determines whether the model is currently static and optimizes accordingly.

Consider a multi-character scene where one character is moving or talking while others are standing still. Blender continues to calculate mesh deformations and other complex computations for the stationary characters, leading to unnecessary performance waste. Armature animation is highly performance-intensive (in extreme cases, FPS is inversely proportional to the number of faces in the model). It would be beneficial if Blender could detect when a model is temporarily stationary and then decide whether to calculate mesh deformation and auto shade smooth.

Here is a video from C4D. The cube has 393,216 faces. You can see that when the cube is moving, the FPS is around 17. When the cube stops, the FPS jumps to over 400.

On the other hand, in Blender, the FPS remains at 17 even when the cube stops moving.

Update: I have confirmed that the problem still exists in the latest 4.3 Alpha.

100%

Development Status: Open

Upvote 5 Downvote 0
fmnijk
16 Jun 2024

4 Comments

pablovazquez

I see your screen capture is using Blender 3.6.12

This topic has been worked on a lot since then, I recommend testing it using the latest Blender 4.3 Alpha: builder.blender.org/download/daily/

fmnijk Author

I added a new video for the 4.3 Alpha version. The behavior remains unchanged.

JoelRVC

This is directly related to your request. In blender 4.1 the behavior of shade smooth and normals in general changed, it is more similar to what you mention, although I have not checked the fps.

projects.blender.org/blender/blender/issues/93551

fmnijk Author

I tested version 4.3, and the issue hasn't improved. Compared to version 3.6 that I tested previously, although there's a slight performance increase, the FPS remains unchanged when the mesh is stationary.