【问题标题】:Unity Game suddenly has poor performance on Samsung S8, but still perfect in editorUnity Game 在三星 S8 上突然表现不佳,但在编辑器中仍然完美
【发布时间】:2019-03-01 20:57:05
【问题描述】:

最近几天,我一直在构建一个简单的平台游戏,以部署在 Android 手机上。然而,在我最后一次部署到我的手机后,我相当快的三星 S8 的帧速率只有 25fps。编辑器中的游戏速度为 100 fps,运行良好。就在前一天,这款游戏在我的 S8 上也运行良好。我并没有真正改变任何东西,所以这里会发生什么?这是绝对不能接受的。如果您需要更多信息,请告诉我!

谢谢!

这是来自分析器:

【问题讨论】:

  • 您必须使用profiler 才能了解发生了什么问题。
  • 嗨,阿里,我设置了分析器。我要从中读到什么?
  • 看看是什么阻塞了你的主线程。您可以单击它将暂停游戏,然后您可以在该特定帧查看每个操作(渲染、脚本、物理等),并查看哪个操作需要多少毫秒。如果你在这里分享它的截图也很好。
  • 我贴了一张截图。我希望它真的显示我的手机,而不是其他任何东西......(因为即使游戏关闭统一,分析器仍在做一些事情......)
  • 对不起,现在这是我手机上的正确截图!

标签: android unity3d


【解决方案1】:

我不能告诉你,为什么会这样,但这就是我需要做的:

在任何开始的脚本中(比如 playermovement 或其他)添加这一行:

    Application.targetFrameRate = 60;

瞧瞧。

我以前没有这条线,它工作过,但它停止工作了。添加这条线完全修复了它。谢谢你们。

【讨论】:

    【解决方案2】:

    首先,尝试推断网格中的尝试次数和顶点数,使用烘焙光照来提高性能,还尽可能尝试对象池化,并生成遮挡贴图以优化移动设备的游戏。您可以从 Unity 为移动设备设置质量设置。如果您想在手机上渲染更复杂的网格,您将需要保持 LOD 级别,并尽可能优化游戏以在移动设备上渲染它而不会出现任何故障。我也会推荐你使用这个toolset,它将帮助你进行优化。

    更新 如果您最近更改了任何内容,导致您的应用程序性能不佳,请检查您是否在最近的更改中添加了任何可能随着时间在单独线程中迭代的协程或 IEnumetaor 相关代码,请尝试使用Collab 维护版本控制,因为您可以随时在协作的帮助下恢复以前的代码,以防万一您丢失了某些东西,它是完全免费且非常有用的。

    【讨论】:

    • 你好。尽管我感谢您的出色答复,但我实际上一件事都没有理解。您是在谈论更改项目设置下的“图形”部分吗?这里的所有内容都设置为默认值,我从未更改过它。同样,昨天一切正常,我所做的只是更改了几行代码(我也已经改回来了。)无论如何,我在哪里可以找到你一直在谈论的内容?或者我在哪里可以阅读更多关于它的信息?谢谢!
    • 并且还要检查您是否没有添加任何 Coroutine 或 IEnumetaor 相关代码,这些代码可能会在您最近的更改中的单独线程中随着时间的推移而迭代,请尝试使用 Collab 来维护版本控制,因为您可以使用以下命令恢复以前的代码如果您丢失了某些东西,请随时提供协作帮助。
    • 我没有添加任何堆积的东西。从一开始,性能就非常低。所有质量设置都处于低位。反正我从来没有碰过那些……那一定是脚本……
    猜你喜欢
    • 2019-02-05
    • 2019-03-09
    • 2013-02-16
    • 2015-01-06
    • 1970-01-01
    • 2019-02-14
    • 1970-01-01
    • 1970-01-01
    • 2018-07-14
    相关资源
    最近更新 更多