use*_*112 2 frame-rate ios sprite-kit skscene swift
我正在SpriteKit中构建一个新游戏,每次我想重新启动游戏我都会切换场景,因此每次按"再次播放"时,我的GameScene会从头开始加载,这会导致我的FPS不断下降.
所以这导致我的FPS下降加班,因为每次按下播放我必须基本上加载全新的GameScene和游戏(主要是产生节点).我相信如果没有办法以一定的速率限制FPS,那么我就不应该在两个场景之间进行转换.
但是,我尝试了将所有内容保存在1个场景中的方法,但不幸的是,每次按下重新启动时都没有解决,生成的SKSpriteNodes的数量增加了一倍.因此,每次我再次播放时,节点和我的计时器的产生速度会提高2倍.我不知道如何解决这个问题.
每次更改场景时,都应该将其与子项一起从内存中删除.
您可以在场景的末尾添加此方法:
deinit {
print("\n THE SCENE \(type(of: self))) WAS REMOVED FROM MEMORY (DEINIT) \n")
}
Run Code Online (Sandbox Code Playgroud)
如果您没有在调试控制台中看到此打印件,那么您可能在代码中的某个位置强烈引用了self.您可以按照"为闭包解决强参考周期"的官方指南
| 归档时间: |
|
| 查看次数: |
95 次 |
| 最近记录: |