osg.OperationThread
类代表了一个OpenSceneGraph中的操作线程,该线程由osgDB::DatabasePager
管理。线程实例化后,它将不断地读取来自osgDB::DatabasePager
的请求并执行它们。在执行期间,线程将根据实时测量的“资源负载”情况对请求进行排序,以保持最大的帧率且最小的延迟。
osg::OperationThread::OperationThread(osg::ref_ptr<osgDB::DatabasePager> pager);
通过给定的osgDB::DatabasePager
实例创建osg.OperationThread
对象。osgDB::DatabasePager
负责管理该线程的所有请求和任务。
osg::OperationQueue* getPendingOperations() const
返回一个osg::OperationQueue
,其中包含该线程当前需要执行的所有操作。
void run()
run()
函数是线程主循环,该函数通过不断地调用processOperation()
完成操作请求的执行。如果当前没有请求要执行,线程将进入睡眠状态。
void processOperation(osg::ref_ptr<osg::Operation> operation)
处理给定的osg::Operation
请求。
void operator()()
线程函数运行run()
函数。