查看: 1176|回复: 5

osg读取大文件问题

[复制链接]

该用户从未签到

发表于 2011-8-5 14:08:52 | 显示全部楼层 |阅读模式
osg读取文件是异步的吗?如果不是,那么开一个新线程去完成这些事情然后回调,有什么需要注意的地方吗?需要做线程同步处理吗?因为osg内部是多线程的,我再开一些线程怕会出现问题。

该用户从未签到

发表于 2011-8-5 14:26:41 | 显示全部楼层
databasepager和imagepager使用的是多线程读取,但是这也要看您所设置的线程的模型。

该用户从未签到

 楼主| 发表于 2011-8-5 14:49:44 | 显示全部楼层
回复 2# liuzhiyu123


    也就是说osgDB::readNodeFile函数会立即返回,而不会影响到后续的一些动作,比如事件处理和渲染等么?

该用户从未签到

发表于 2011-8-5 15:01:19 | 显示全部楼层
不是这样的,如果想要使用另外的线程来读取文件,请使用ProxyNode或者PagedLOD

该用户从未签到

 楼主| 发表于 2011-8-5 17:03:12 | 显示全部楼层
回复 4# array


    在使用PagedLOD节点的时候,如果PagedLOD节点进入可视范围内,分页数据库线程就会去加载这个模型,那么渲染线程和该线程是同步的么,也就是说渲染线程会一直等待分页数据库线程直到模型加载完毕吗?我希望的是它不会等待,而是继续处理后面的事情(场景显示,事件处理)。

该用户从未签到

发表于 2011-8-5 18:35:55 | 显示全部楼层
正如你所希望,PagedLOD就是这样的,什么时候加载完什么时候显示
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表