Can the varying the of Bone Influencers effectively be done on a vertex basis?

I am evaluating bring the number of bones on the skeleton I use up to 59 for characters who need to do finger gestures (on both hands), and 40 for just 1 hand. The extra CPU to compute the world matrix of the additional bones probably cannot be avoided. Just checking around for any little things to compensate.

.I was wondering if even though influencers was set to 4, if a vertex indicated that the weight for an unused influencer was 0 would that reduce GPU?

Looking at the Blender export code, the bone index is being set to 0 when short of 4, a valid setting, and usually the root bone, so I am guessing influence of 0 is ignored.

The reason I as is since I have a great deal of control how my weights & indices are generated, I could take action if it was felt “worth it”.

We have option (automatic) to let you go up to 8 weights per vertex. That being said, the system will still do the 8 mults in the shader. but honestly this is not a big deal as we are almost never GPU bound

Yeah, I actually wrote the weights up to 8 part. It has been a while though. I kind of doubted that even if they were skipped, cuda cores from the same work group just be idled while the others actually did something. GPU optimization is completely different from CPU.

This is why I ask questions, before I go off and do something performance related, especially GPU. Am going to look at the bone update on the CPU, mostly for my own understanding, possibly for hints.

1 Like