查看: 1641|回复: 3

请教一下多线程读取模型的问题

[复制链接]

该用户从未签到

发表于 2015-10-21 17:39:46 | 显示全部楼层 |阅读模式
程序是用QT4.8+osg3.0写的。场景涉及到多个模型,现在是把这几个模型一次性读进内存,然后用switch切换。
为了加快启动的速度,我在主线程中只读取文件列表中的第一个模型,第一个模型读取成功之后,用boost/thread开一个新线程,读取剩下的模型
但是在debug模式运行的时候,会报出vector must be iteratorable 类似的运行时错误,感觉应该和这个新开的线程有关系,似乎是root节点子节点列表出现了什么冲突,但是又搞不清楚。
在boost/tread的线程执行完后加了一个睡眠时间,情况有所好转,有的时候debug模式运行不会出现这个运行时错误,有的时候会出现。

所以就是想问一下,osg多线程读取模型的时候需要注意些什么呢。

该用户从未签到

发表于 2015-12-24 10:05:39 | 显示全部楼层
渲染线程在去节点vector计算,你在往vector加东西,当然会报错,得做同步处理,需要在渲染线程才能添加节点

该用户从未签到

发表于 2016-1-7 16:28:24 | 显示全部楼层
本帖最后由 不痛o就一下 于 2016-1-7 16:29 编辑

viewer的option里面?

该用户从未签到

 楼主| 发表于 2016-1-14 21:54:30 | 显示全部楼层
由于是结合QT的,所以在每一个paintevent里面调用一次frame,在调用frame的时候来判断是否有节点读取完成,然后加载。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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