Why is "Mesh Selection" time so high and how to reduce it?

If you have a lot of meshes, implementing scene.getActiveMeshCandidates could help (see Curious about this.totalVertices.addCount() in the evaluate active mesh loop - #27 by Evgeni_Popov).

@JCPalmer has also tried something of his own, perhaps that might be of use to you?

There’s always the possibility of overloading scene._evaluateActiveMeshes with your own implementation, removing anything you don’t need.

It would also be useful to take a performance snapshot and see where most of the time is spent in the _evaluateActiveMeshes function (this function is doing mesh culling, animates skeletons, dispatch sub-meshes, etc).