您的位置:首页 > 其它

MFC+OSG创建场景编辑器,运行时会经常弹出错误

2016-05-19 17:34 302 查看
MFC+OSG做场景编辑器时,会经常出现BUG,最主要的原因是多线程造成的结果。多线程保护有关键代码段、互斥对象等方法,可以参看孙鑫的vc++的书,上面介绍的很详细。

但后来用互斥对象保护还是出现问题,搞了好几天才搞明白要用互斥对象保护OSG绘制过程中的每一帧,不然还会出现多线程干扰错误,关键处代码如下

while(!viewer->done())

{

WaitForSingleObject(hMutex,INFINITE);

osg->PreFrameUpdate();

viewer->frame();

osg->PostFrameUpdate();

ReleaseMutex(hMutex);

}

要保护这里绘制的每一帧,我开始没仔细想,将整个while循环保护起来,这其实没什么用的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: