【问题标题】:Low Framerate in SceneKitSceneKit 中的低帧率
【发布时间】:2018-08-22 20:36:27
【问题描述】:

我正在用 SceneKit 编写一个游戏,它被分为关卡。每个关卡都使用不同的基本形状(Xcode/SceneKit 中的默认形状,可在对象库中找到)作为玩家必须避免的“障碍”。所以第一关有块作为障碍物,在 iPhone 6 及以下设备上以 60 FPS 运行,但是当玩家玩使用金字塔作为障碍物的第二关时,FPS 下降到 10。每个关卡中的节点少于 500 个。它在 iPhone 8 上以 60 FPS 运行。发生了什么以及如何解决?

Here 是一个 youtube 链接,显示它们在游戏中的使用方式。它在 iPhone 8 Plus 上运行,没有 FPS 问题;但是,如果在 iPhone 5s 或更低版本上运行,第一级的帧速率会下降得非常低,而第二级则不会。

This 链接为其提供了运行统计信息。 WaitDrawable 占了很大一部分。

这里是线框的图像,有材料和没有材料。

【问题讨论】:

  • 图片,请!!!如果不分析它们各自的线框,甚至无法开始理解金字塔的问题和块的好处。请对没有材料和有材料的模型进行截图。立方体和金字塔都是孤立的,并且在它们的形成中。
  • @Confused 我更新了问题。另外,为了澄清。这些是在“对象库”中找到的对象,除了节点的颜色之外没有添加任何外部网格。
  • 使用仪器!它会告诉你是什么减慢了渲染速度。
  • @matt 动画耗时 10 毫秒。
  • @matt 第一层 WaitDrawable 似乎占据了图形的 50%,而第二层则占 1%。

标签: swift xcode scenekit frame-rate


【解决方案1】:

问题是物理在每一帧上都被调用,然后执行一些逻辑。球员在每一帧都在击球,习惯于让球块居中。我更改了联系人位掩码,所有问题都消失了。

【讨论】:

    猜你喜欢
    • 2015-12-25
    • 1970-01-01
    • 1970-01-01
    • 2019-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-26
    相关资源
    最近更新 更多