|
当我一个场景中同时加载上万个模型的时候,代码如下
for(int i = 0; i < 10000;i++)
{
osg::Node* node = osgDB::readNodeFile("D:\\2dituxinxi\\xinjiang\\mingzhuhuadu\\StaticMeshes\\8-1-101.ive");
group->addChild(node);
}
此时引擎渲染特别的慢,经跟踪,在执行SceneView.cpp中的cullStage函数里的
// traverse the scene graph to generate the rendergraph.
// If the camera has a cullCallback execute the callback which has the
// requirement that it must traverse the camera's children.
{
osg::NodeCallback* callback = _camera->getCullCallback();
if (callback) (*callback)(_camera.get(), cullVisitor);
else cullVisitor->traverse(*_camera);
}
时,速度特别的慢(实际执行的是else里面的 cullVisitor->traverse(*_camera);),请问哪位高手了解这是为什么?这块代码是由场景树生成渲染树吗?
如何可以提高速度??
|
|