我制作了一个非常简单的超级休闲游戏,一切正常,但是经过几分钟的游戏,即使手机变热了,fps也从60升至50。与this问题类似。我尝试进行性能分析,但是什么都看不见。尝试删除一些UI元素,但仍然没有运气。尝试了各种vsync设置。另外,我曾使用this来显示fps。即使没有它,也可以看到延迟。即使我只是打开游戏,什么也不做,则在5分钟后,fps将变为50。如果使用主屏幕按钮返回并重新进入游戏,则fps将再次变为60。使用unity 2018.2.6f1。在我的其他Android游戏中从未遇到过这种行为。
基本上,这是一个有缺陷的自定义顶点着色器,已应用于平面以更改背景颜色,该颜色随时间变化。我没有使用移动顶点颜色,因为没有获得所需的输出。但现在,我将坚持使用移动平台。
答案 0 :(得分:1)
您观察到的两个症状很可能是相关的。 当您使用手机的全部电量时,手机可能会变热,这反过来又会导致节流,从而降低演奏效果
答案 1 :(得分:0)
我遇到了完全相同的问题。我试图修复它很长时间。您说了一些有关使用的着色器有问题的信息。这是解决我们问题的关键。
我使用2色渐变作为BG,因此我也必须使用着色器。由于我在编写“着色器代码”时一无所知,因此我必须在Internet上找到一些东西。这是我最大的失败)
要解决此问题并删除此fps下降,您应该从场景中删除附加到它的渐变和着色器。并尝试为2D游戏找到更优化的着色器(或者您始终可以编写自己的c:)