编程技巧学习笔记之对象池
2013-06-03 19:37
274 查看
在练习项目坦克大战中,运行发现比较卡,原来是处理子弹的时候动态new的。这样频繁地开辟、释放内存会降低运行效率。
听一位师兄说可以这样优化处理:
子弹分为三个状态:
出生时born,飞行时moved,销毁时destory,
born destory 状态 子弹保存在queue
moved 状态 子弹保存在list
预先new 出若干的子弹,保存到队列queue,
开火时从queue取出子弹,取出的子弹放到list,
销毁时再把子弹保存到queue,从list取出该子弹。
子弹在list 与queue之间来回存取,暂时不用delete
听一位师兄说可以这样优化处理:
子弹分为三个状态:
出生时born,飞行时moved,销毁时destory,
born destory 状态 子弹保存在queue
moved 状态 子弹保存在list
预先new 出若干的子弹,保存到队列queue,
开火时从queue取出子弹,取出的子弹放到list,
销毁时再把子弹保存到queue,从list取出该子弹。
子弹在list 与queue之间来回存取,暂时不用delete
相关文章推荐
- 第八章(4)-掌握回调的编程技巧-学习笔记
- STL源码剖析之迭代器概念与traits编程技巧--学习笔记
- STL学习笔记:Iterator和Traits编程技巧
- Qt学习笔记--编程技巧总结
- 【学习OpenCV】opencv gpu 编程笔记 编码技巧
- 编程技巧之嵌入式C语言完全学习笔记及案例[图]
- JAVA学习笔记(一)-基本编程技巧
- Scala学习笔记(3):纯函数式编程的一些思想和技巧
- java学习笔记(一)--编程规范和技巧总结
- 学习笔记 : Lua 编程技巧
- 开始利用CSDN做学习笔记,从windows 游戏编程大师技巧和3D游戏编程大师开始
- Qt学习笔记--编程技巧总结
- Qt学习笔记--编程技巧总结
- 编程珠玑【学习笔记】:习题 编程珠玑2nd 3.7 第五题
- Object-c基础编程学习笔记-集合
- Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(六)之Initialization & Cleanup
- [学习笔记][Java编程思想]第11章:持有对象
- Java网络编程学习笔记(3)ServerSocket用法详解
- C专家编程学习笔记——第三章(三):有效地解读C语言的声明
- LInux 编程基础学习笔记 持续ing 文件读写