查看: 3267|回复: 14

MFC环境下调用VPB模型存在bug?线程冲突?

[复制链接]

该用户从未签到

发表于 2011-6-9 21:56:41 | 显示全部楼层 |阅读模式
大家有没有发现:采用osg自带的例子osgviewerMFC.exe加载一个采用vpb生成的地形。加载可以成功,但旋转、缩放、该地形。有一定的几率(随机)会程序崩溃。出现断言错误。如下图:
未命名.jpg

而采用osgviewer查看。则没有任何问题。
莫非是osgviewerMFC里渲染线程和场景的动态变化产生的冲突?

莫非这是个bug?有没有人可以测试看看。应该不难测试的。谢谢各位。

该用户从未签到

 楼主| 发表于 2011-6-9 22:08:59 | 显示全部楼层
这是在debug模式下,release模式这些断言错误都不会出现。。。貌似比较正常。很囧.但是没办法用debug模式调试程序会有很多不便,此外,总感觉有些问题始终存在在那,出于程序稳定性的考虑,这些错误还是得解决掉的。
PS:网络上也有人说vpb在debug下有些问题:http://blog.csdn.net/ryanzll/archive/2010/12/25/6098227.aspx

该用户从未签到

发表于 2011-6-10 08:19:23 | 显示全部楼层
既然您在debug模式下出了错,那何不给出运行堆栈的信息让大家判断。我在debug模式下基本不会有问题

该用户从未签到

 楼主| 发表于 2011-6-10 08:45:21 | 显示全部楼层
回复 3# array


    以下是call stack信息,可以看到是渲染时崩溃了:
QQ截图未命名.jpg

该用户从未签到

 楼主| 发表于 2011-6-10 08:48:04 | 显示全部楼层
回复 3# array


    以下是output窗口输出的错误信息:
QQ截图未命名.jpg

该用户从未签到

发表于 2011-6-10 15:03:10 | 显示全部楼层
如果没有修改三维相关数据,可以排除线程冲突问题,如过osgviewer查看没有问题,那么地形数据的错误性也可以排除,其他情况应该是不会引发错误的,重点可以看一下数据有没有问题(debug的osgviewer)

该用户从未签到

 楼主| 发表于 2011-6-10 17:27:31 | 显示全部楼层
回复 6# gis_wudi


    您说的数据有没有问题是指什么数据不是太明白。是指debug模式的osgviewerMFC这个应用程序吗?
    虽然您说三维数据没有变化不会引起线程冲突。但我怀疑通过vpb生成的地形模型,在加载到场景中之后会动态的改变,由此引起线程冲突。一般这种随机性报错的情况,以我的经验常常是线程冲突引起的。不知道思路对不对。
    不知道您是否有osgviewerMFC的例子,运行debug版本并加载一个vpb生成的ive模型测试一下,我同事和我问题一样。

该用户从未签到

 楼主| 发表于 2011-6-10 17:29:50 | 显示全部楼层
回复 6# gis_wudi


    哦明白您的意思了。我用debug的osgviewer测试一下

该用户从未签到

 楼主| 发表于 2011-6-10 17:33:38 | 显示全部楼层
回复 6# gis_wudi


    果然。debug的osgviewer同样崩溃了。这样应该可以排除是线程冲突的原因了。那么就是vpb生成的数据有问题了?可是这种情况有什么办法查找模型中的错误。。vpb的使用上应该不存在问题啊。

该用户从未签到

发表于 2011-6-10 17:49:10 | 显示全部楼层
回复 9# lyx_lyx


    osg例子中的mfc程序我没有测试过是否能正常加载,但我们自己用osg结合mfc做开发,加载几十G的地形数据没有出过问题,可以检查一下是不是某一块某一级地形在生成的时候出了问题,或者干脆vpb重新生成一个简单的再试试

该用户从未签到

 楼主| 发表于 2011-6-11 09:41:14 | 显示全部楼层
回复 10# gis_wudi


    我用osgdem生成的地形同样会出错。不知道是不是采用的dem和影像有什么问题。明明就几十M的地形文件。怎么会出错。。vpb对地形和影像不知道有什么要求。

该用户从未签到

 楼主| 发表于 2011-7-6 18:18:22 | 显示全部楼层
本帖最后由 lyx_lyx 于 2011-7-6 18:41 编辑

采用vpb介绍页上的例子数据生成的ive模型居然也报错了。这样也排除了数据的原因?
QQ截图未命名.jpg

该用户从未签到

发表于 2011-7-7 08:20:52 | 显示全部楼层
那么就只能是您的代码的不合理性导致的了,很可能您没有考虑线程之间数据传输的问题

该用户从未签到

 楼主| 发表于 2011-7-7 08:48:07 | 显示全部楼层
回复 13# array


    问题是我用的是osgviewermfcd.exe加载的模型,用osgdem生成的地形。

该用户从未签到

发表于 2015-8-5 09:03:27 | 显示全部楼层
我也碰到这个问题了,觉得是osg版本的问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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