gpt4 book ai didi

ios - FPS 下降和游戏变慢 - Sprite-Kit 和 Swift

转载 作者:搜寻专家 更新时间:2023-10-31 19:31:27 24 4
gpt4 key购买 nike

我有一个使用 Sprite-Kit 和 Swift 的游戏,我在其中生成从屏幕顶部落到屏幕底部的随机圆圈。

启动游戏时,它一开始运行得很好(大约 60 FPS 或更低),但随后 FPS 逐渐下降,游戏变得非常慢......我不明白为什么 FPS 随着时间下降(节点数量保持在 8-10 左右,因此当它们离开屏幕时会被删除)——我在 iOS 模拟器和实际设备上测试过它,有什么想法吗?

我已经检查过,问题不是来自内存泄漏。另外,我只使用一个 View Controller 。

我认为可能导致此问题的唯一功能是这个,但我不知道为什么:

/* Function to generate single random circle */
func generateCircle() -> Void {
let circleSize:CGFloat = CGFloat(arc4random_uniform(40) + 3)
let xPosition:CGFloat = CGFloat(arc4random_uniform(UInt32(size.width)))

var randomCircle = SKShapeNode(circleOfRadius: circleSize)
randomCircle.strokeColor = SKColor.redColor()
randomCircle.fillColor = SKColor.redColor()
randomCircle.physicsBody = SKPhysicsBody(circleOfRadius: circleSize)
randomCircle.physicsBody?.dynamic = false
randomCircle.position = CGPoint(x: xPosition, y: size.height + circleSize*2)
randomCircle.physicsBody?.dynamic = true
randomCircle.physicsBody?.categoryBitMask = randomCirclesGroup
addChild(randomCircle)
}

最佳答案

可能存在内存泄漏。

  1. 使用 Xcode 启动您的游戏。
  2. 使用 CMD + 6 打开 Xcode Debug Navigator 面板。
  3. 选择内存,等待分配的内存是否增长。

如果发生这种情况,我的意思是如果分配的内存继续增长,即使您知道它不应该增长,那么您就是在泄漏内存。

Instruments 是找出代码中问题所在的最佳工具。

关于ios - FPS 下降和游戏变慢 - Sprite-Kit 和 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27804804/

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