Ios 如何提高FPS?
因此,在我的项目开始时,我遇到了游戏延迟的问题。因此,只要你点击开始游戏,它就开始以42-48 FPS的速度运行,当你继续游戏时,它开始稳定下来,并以58-59 FPS的速度结束,这很好。所以我一直在尝试修复它,我已经尝试预加载我的纹理地图集,但它仍然不起作用。所以我运行了时间分析器,这似乎是我的问题:Ios 如何提高FPS?,ios,swift,sprite-kit,frame-rate,Ios,Swift,Sprite Kit,Frame Rate,因此,在我的项目开始时,我遇到了游戏延迟的问题。因此,只要你点击开始游戏,它就开始以42-48 FPS的速度运行,当你继续游戏时,它开始稳定下来,并以58-59 FPS的速度结束,这很好。所以我一直在尝试修复它,我已经尝试预加载我的纹理地图集,但它仍然不起作用。所以我运行了时间分析器,这似乎是我的问题: 这似乎是我的更新方法。我认为问题在于,它必须与我的Plist文件有关。我正在从一个很长的文件加载我的所有对象。我试着在一个短得多的文件上运行这个项目,它以每秒60帧的速度完美运行。我有什么办法
这似乎是我的更新方法。我认为问题在于,它必须与我的Plist文件有关。我正在从一个很长的文件加载我的所有对象。我试着在一个短得多的文件上运行这个项目,它以每秒60帧的速度完美运行。我有什么办法可以解决这个问题吗 您可能应该为游戏中的每个模式使用不同的部分 在Mega-Jump中,不同的模式是随机动态加载的。这意味着,你可以为不同的模式使用不同的plist,当你升级时,你可以从一个随机plist中释放屏幕外的内容并分配游戏的新部分
始终动态加载内容(可能是异步加载),这样您就不会浪费内存加载屏幕外的内容,这些内容在以后才会使用。有两种情况会导致FPS的初始下降。游戏开始前:
进一步阅读您的描述,您的问题可能还与未正确预加载资产有关。在开始游戏之前,请确保只保留一个对你的纹理、字体、声音、动作的引用,并将它们加载到内存中。也许你可以将plist拆分为多个部分,然后在游戏开始时只解析第一个部分。其他部分可以在后台异步解析。谢谢你知道我该怎么做吗?或者一些我可以阅读的资源,然后做类似的事情谢谢@sangony你知道我如何预加载纹理吗?或者什么时候可以找到相关信息?@Thesaurus03-Hey@EpicByte以及如何添加计数器?如您所说运行代码。至于SKTextures,我已经在游戏开始前预装了它们,但还是没用@同义词库03您可以创建一个整数,并在每次调用update时将其递增。然后,一旦计数器大于某个值,运行代码并重置计数器。您还可以计算每个帧的增量时间,并使用它来代替。至于预加载,我有一种感觉,你是预加载,但没有保持单一的参考你的纹理。这意味着,如果你在游戏中的任何地方初始化像SKTexture(…)这样的SKTexture,那就太糟糕了。在开始时初始化所有纹理,并让所有代码重用变量。@同义词库03此外,如果有很多纹理,可以将它们全部存储在字典或数组中。用于动画的任何纹理都应该在其单独的数组中。