Have been profiling cardynamics changes lately and noticed that we are spending a lot of time in DRAWABLE_CONTAINER_HELPER::AccumulateSize::operator(). I wonder if we are missing an optimization opportunity here.
Code:
13.75 1.76 1.76 _mcount_private
12.11 3.31 1.55 16467397 0.00 0.00 void DRAWABLE_CONTAINER_HELPER::AccumulateSize::operator()<keyed_container<DRAWABLE> >(keyed_container<DRAWABLE> const&)
7.73 4.30 0.99 30452 0.00 0.00 void SCENENODE::Traverse<PTRVECTOR>(DRAWABLE_CONTAINER<PTRVECTOR>&, MATRIX4<float> const&)
3.75 4.78 0.48 16986 0.00 0.00 void AABB_SPACE_PARTITIONING_NODE<DRAWABLE*, 1u>::Query<FRUSTUM, std::vector<DRAWABLE*, std::allocator<DRAWABLE*> > >(FRUSTUM const&, std::vector<DRAWABLE*, std::allocator<DRAWABLE*> >&) const
2.58 5.11 0.33 1333989 0.00 0.00 RENDER_INPUT_SCENE::SelectTexturing(DRAWABLE&, GLSTATEMANAGER&)
2.34 5.41 0.30 1333964 0.00 0.00 RENDER_INPUT_SCENE::SelectTransformStart(DRAWABLE&, GLSTATEMANAGER&)