OStack程序员社区-中国程序员成长平台

标题: ios - 更新到 iOS 8 让我的 SpriteKit 游戏变得 super 慢 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 02:04
标题: ios - 更新到 iOS 8 让我的 SpriteKit 游戏变得 super 慢

我昨天将我的 iPhone 5 更新到了 iOS 8,并开始玩我开发的游戏,该游戏已经在应用商店上架了大约两个月。我的游戏现在仅仅通过升级到 iOS 8 就严重滞后了。我从来没有遇到过任何滞后问题,在 iOS 7 中使用像 iPhone 4 这样以 60FPS 运行的旧设备。这非常令人担忧,因为我不希望我的客户在更新到 iOS 8 后遇到同样的问题。知道为什么会这样吗?

编辑:我刚刚做了一些测试,我的 FPS 仍然是 60,但我的节点仍然移动缓慢。在我的程序中,我将physicsWorld.speed 设置为0.05。当我将其设置得更高时,节点不再滞后。似乎 iOS 8 PhysicsWorld.speed 的工作方式与 iOS7 不同。我需要那个速度,否则我的游戏无法正常运行。我仍在调查这是否是完整的问题!



Best Answer-推荐答案


就我目前的调试而言,一个问题在于

enumerateChildNodesWithName: @"XX" usingBlock:^(SKNode *node, BOOL *stop) { ..

这个调用在 iOS 8 中似乎很慢,也许有充分的理由,谁知道..

无论如何,我用一个简单的循环替换了它,例如:

for(SKNode *node in [myCustomLayer children])
{
   if ([node.name isEqualToString: @"blabla"] )
   {
   ..

并且 FPS 已备份。不确定这是否解决了所有问题,但它对我的游戏产生了影响。

关于ios - 更新到 iOS 8 让我的 SpriteKit 游戏变得 super 慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25924928/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4