sprite-kit - 创建新的 SKSpriteNode 与使用 SKSpriteNode 的副本
问题描述
我正在寻找提高游戏性能的方法。在我的游戏中,boss 会同时(不同角度)施放 16 个火球。我当前的代码是为每个火球创建一个 SKSpriteNode,并重复该过程 16 次。我可以通过将创建过程分派到不同的线程来提高性能,然后在创建精灵后将其添加回主线程。这样我就不会在游戏中看到明显的滞后。但是,我认为如果我在创建第一个火球精灵后缓存它,然后使用 .copy() 15 次来创建其余的火球,它会进一步提高性能吗?最终,我试图了解在 SKSpriteNode 上使用 .copy() 与创建新节点一样昂贵吗?
感谢您的任何见解。
解决方案
副本稍微便宜一点,但也不多。它不需要访问任何 IO 来获取纹理之类的东西,因为您已经在内存中拥有它。
现在,按照您设计游戏的方式,您不应该不断地重新创建火球。您应该创建一个池,并不断回收它们。这样,您只需在游戏的加载部分创建一次,并且不会将宝贵的周期浪费在多余的工作上。
推荐阅读
- javascript - 检查小数的反应输入表单并更改值
- search - Google 分析网站搜索未按预期工作
- angular - x秒角9后停止功能
- angular - 将传单插件导入 Angular 项目
- databricks - 我收到一个在数据块中找不到的错误值
- python-3.x - Python 从 3 层导入文件
- python - 熊猫到日期时间的奇怪行为
- electron - Electron App (PAAS) - 集成 WhatsApp / Skype / Telegram 和其他消息传递是否合法?
- spring - Spring Boot - 从控制器覆盖 bean
- python - UnicodeDecodeError utf-8 无法解码字节