I updated loads of stuff but couldn’t improve the FPS when only drawing the Stats Window (placed the camera to show nothing).
It is stuck at roughly 40FPS with a constant CPU Load of 25%.
After running several profilings, I figuered out that bullet is taking it’s resources. Having it run in a seperate thread did not improve anything as the synchronization now takes nearly as long as it used to calculate.
Then I removed all the Controls from that spatials. I figured out that 85% of the renderLoop time go into renderViewPort() and it’s descendants.
66% in controlRenderSoftware ofwhich 56% in SkeletonControl.softwareSkinUpdate() and computeSkinningMatrices.
@pspeed: I guess that was what you were talking about.
I changed it. For some reason I still have 17% on controlRenderSoftware. The Output confirms me though: “Hardware skinning engaged for …(Node)” // This is with only one Character having animation at all!
So I am still stuck at 80 FPS with no Physics no Custom Controls .
Somehow AnimControl.update() and it’s Skeleton.reset() and updateWorldVectors() are doing something.
Does that happen automatically without any Animation being played or stopped? I just have the Controls in the SceneGraph.
Note: I have one animated character so that calls might be justified, I only wonder if that could come from the NPCs (As they impact the perfomance)
Edit: If I remove all those 50 Guys I have a racing 1500 FPS, so it has to be something with their .update().
Edit2: The only thing I do to those guys is a) load the model, b) add a BetterCharacterControl but do not add it to the physicsSpace
Edit3: Sorry for those thousand edits. I now made sure that I only load the spatial and add it to the graph. Even when culled a huge impact. No calls done to them.