关于构建AABB树过程中内存优化
来源:互联网 发布:富士触摸屏编程软件 编辑:程序博客网 时间:2024/05/29 09:11
最近在实现鼠标捡取对象时,需要实时计算射线与三角形是否相交。
涉及到了数据结构为AABB树,具体参考http://www.codercorner.com/Opcode.htm
为了测试内存的使用,选取的测试用例为220w的三角形面片的模型。
一开始自己创建的节点类为:
class AABBTreeNode{//************* float *box;//当前节点的包围盒int *m_NodePrimitives;intmNbPrimitives;AABBTreeNode *left;AABBTreeNode *right;}构造过程中不断的new出包围盒的数据
同时在构造树的递归过程中,不断的new左右子树指针。
刚开始的内存占用为:总共700M左右
实在难以承受。
然后参考OPCODE实现思路
class AABBTreeNode{//************* <span style="color:#ff0000;"> float box[6];//当前节点的包围盒</span>int *m_NodePrimitives;intmNbPrimitives;AABBTreeNode *left;AABBTreeNode *right;}
经过这个步骤内存降了100M左右。
同时在构造节点过程中预先new出内存:
AABBTreeNode *root = new AABBTreeNode[2 * mNbPrimitives-1];
此时内存总共占用约为230M
实在很夸张,记下来,防止以后犯类似错误。
0 0
- 关于构建AABB树过程中内存优化
- 关于android中应用内存优化实践
- Kylin Cube构建过程优化
- Kylin Cube构建过程优化
- AABB
- AABB
- 关于存储过程优化
- 关于java内存优化
- 关于Android内存优化
- WINDOWS中关于内存管理的注册表优化
- 关于Android中内存优化的一些方法
- 关于Android面试中如何应对内存优化
- 关于Android面试中如何应对内存优化
- 关于vs开发windows程序过程中内存检查二三事
- Android中内存优化
- 关于J2ME应用程序内存优化
- 关于android性能,内存优化
- 关于android性能,内存优化
- Geekband006第六周笔记分享
- (OK) 运行cBPM—Fedora23—ALL
- Centos6.5安装git1.9.0+gitolite权限控制
- POJ1861 Network
- 封装.a文件以及应用.a文件
- 关于构建AABB树过程中内存优化
- Spring4学习(一):eclipse插件安装,基础框架搭建
- Asp.net WebAPI Request参数验证-请不要重复造轮子
- .net执行修改,获得受影响行数为1,可是数据库内容却没有改变
- 设计模式概述
- 练习二 1019 放置皇后的问题
- opencv从硬盘中读取显示视频
- java 设置背景颜色
- 2013BJOI Day1 第二题 彩色球