Sam*_*Sam 2 multithreading background-process sprite-kit swift
我正在使用Swift和SpriteKit构建我的第一个游戏,而且我在CPU使用和电池寿命方面遇到了很多问题.我想知道在后台线程中运行某些任务(如实例化坏人)是否是常见的做法; 如果是这样我将如何实施呢?
如果这是你的第一款游戏,除非你真的知道自己在做什么,否则你可能不想疯狂使用多个线程.请注意,SKNode必须在SKView(Private) _update:运行的同一线程上完成对s的操作.这与runAction运行块的线程相同.如果你不这样,你就会崩溃.在我正在进行的SpriteKit游戏中,我是多线程的,并没有使用SKAction或runAction进行任何更新.我不得不最后添加runAction树管理.因为这个原因,我目前正在OpenGL中重写它.
有些任务对卸载有意义,比如加载文件甚至是网络调用.您应该使用GCD来处理这些类型的事情.请记住,多线程不会像您想象的那样减少CPU时间.
可能性是您的代码正在做坏事,这会导致您占用CPU时间.即使你是多线程的,你也会得到相同的高CPU,但是调试时会遇到更困难的问题.注意我不是说它不可能.
花时间,弄清楚为什么你的CPU使用率很高.基于你的其他线程,你没有做很多事情.
作为实验,请参考该太空船示例并在您的设备上运行它.继续添加船只并查看它对CPU的作用.了解在CPU和FPS降级之前必须添加的数量.与你的游戏相比,请记住,宇宙飞船的例子只是一个简单的演示.
| 归档时间: |
|
| 查看次数: |
556 次 |
| 最近记录: |