gpt4 book ai didi

swift - 在后台线程中运行 SpriteKit 进程以提高 CPU 使用率

转载 作者:可可西里 更新时间:2023-11-01 00:36:16 26 4
gpt4 key购买 nike

我正在使用 Swift 和 SpriteKit 构建我的第一款游戏,但我在 CPU 使用和电池生命周期方面遇到了很多问题。我想知道在后台线程中运行某些任务(例如实例化坏人)是否是常见的做法;如果是这样,我将如何实现呢?

最佳答案

如果这是您的第一款游戏,除非您真的知道自己在做什么,否则您可能不想为多线程而疯狂。请注意,操作 SKNode 必须在运行 SKView(Private) _update: 的同一线程上完成。这是运行 runAction block 的同一个线程。如果你不这样做,你就会崩溃。在我正在开发的 SpriteKit 游戏中,我是​​多线程的,没有使用 SKActionrunAction 进行任何更新。我最终不得不为树管理添加 runAction。因此,我目前正在用 OpenGL 重写它。

有些任务需要卸载,例如加载文件甚至网络调用。您应该将 GCD 用于这些类型的事情。请记住,多线程并不会像您想象的那样减少 CPU 时间。

很可能您的代码正在做一些不好的事情,导致您占用 CPU 时间。即使你是多线程,你最终也会得到同样高的 CPU,但问题是调试更困难。请注意,我并不是说这是不可能的。

花时间找出 CPU 使用率高的真正原因。根据您的其他线程,您没有做很多事情。

作为实验,以那个宇宙飞船为例,并在您的设备上运行它。继续添加飞船,看看它对 CPU 有什么影响。找出在 CPU 和 FPS 降低之前必须添加多少。将其与您的游戏进行比较,请记住宇宙飞船示例只是一个简单的演示。

关于swift - 在后台线程中运行 SpriteKit 进程以提高 CPU 使用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39502017/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com