|
发表于 2015-2-2 16:41:20
|
显示全部楼层
想和您探讨个问题:
关于我这边OSG渲染策略是这样的,建立一个场景根结点,然后读取结点数据(在数据库中存储的),这样一个场景就构建出来了。
关于场景更新策略是这样的,更换结点数据之前调用OsgViewer::viewerBase::setDone(bool done), done=false, 停止帧循环, 然后新增和
删除结点,在删除结点的时候发现, 结点的引用计数都已经为0,但是内存没有被释放, 修改完场景数据之后置done=true, 重新开始帧循环,
移动摄像头位置, 可以实现场景的动态更新, 新增的结点出现在了场景中, 删除的结点也从场景中剔除了, 可是内存没什么变化。
我这里是根据摄像头的位置, 获取周边指定范围内的场景数据的。
是我的策略有问题, 还是有哪些问题没有考虑到呢?
我也尝试过逐级删除数据,可是效果是一样的, 内存只增不降。
|
|