首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >性能优化-对象缓存

性能优化-对象缓存
EN

Stack Overflow用户
提问于 2013-06-17 18:41:54
回答 1查看 60关注 0票数 0

所以,我有一个游戏,我正在使用cocos2d。游戏涉及到许多敌人的投射物,以及一些友好的投射物与敌人的投射物发生碰撞。

敌人和友军弹丸都是具有以下特性的物体:

  • 雪碧(用于CCMoveTo,actions)
  • 日立盒(CGRect)
  • 旅行期间
  • 弹道

它也有计算旅行时间,轨迹和其他事情的方法,这些东西是根据随机产卵位置来确定的。

目前,我所做的是在每次产生弹丸时创建这些对象,将它们添加到数组(即friendlyProjectiles、enemyProjectiles)中,迭代这些对象以进行碰撞检测,并在它们碰撞时释放对象。

对这里的对象使用缓存更好吗?

例如:

  • 在启动时创建100个敌方抛射物体,5个友好型抛射物体
  • 将这些对象放置在堆栈中
  • 当抛出时,不是创建对象,而是从堆栈中弹出。
  • 当一个弹丸发生碰撞并被摧毁时,我只是把它从层和数组中移除,然后推回到堆栈上,而不是释放对象。
  • 当产生一个弹丸时,我仍然需要计算它的轨迹、速度、距离等,但我不需要重新创建物体

这样做好吗?

我对目标C比较陌生,我会不会遇到问题,在我试图推和弹到堆栈的同时?

EN

回答 1

Stack Overflow用户

发布于 2013-06-17 18:45:01

你应该问的主要问题是:

,您现在的做法是否存在性能问题?

如果不是,那为什么要把事情复杂化。

如果有问题,然后分析应用程序,看看这是否是问题所在。

如果是这样的话,这听起来是合理的做法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17154515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档