[英]Good FPS in Editor But not on devices(Google Cardboard), How to increase FPS?
我正在研究Google Cardboard Game。 我有5-10个精灵,其上有15-30个灌木丛(像草一样的单个灌木丛),15棵树(低多边形,<64个顶点),一台相机(由GVR Sdk提供)的地形。
在编辑器上,Framerate很好。 但是,当我在Galaxy S6上对其进行测试时,FPS低至10-20(我已经附加了一个脚本,可以在文本上获取帧速率)。 有优化建议吗?
这是Unity编辑器中的详细统计信息:
CPU:主6.0ms
帧数:160(平均)
批次数:117
三次:6.1k
垂直:3.3k
我相信您在运行时中经常使用“ GameObject.Find()”和“ gameobject.GetComponent()”方法。 这是统一开发人员最常见的问题。
最好不要在运行时使用它们! 仅在唤醒时或在启动方法中。
您需要在唤醒或启动方法内部创建所有必需的GetComponent <>并将结果分配给某些全局变量。 之后-只需在运行时中使用此变量即可。
这确实可以提高您在移动设备上的游戏速度。
确保您的设备没有过热,可能看起来很明显,但是您无法始终知道它何时在您的脸上(我也拥有S6)。
另外,确保您没有处于节能模式,听起来很蠢,但是我已经爱上了它;)
可能破坏智能手机游戏性能的众多因素包括:
附带说明一下,GetComponents可能是个问题,替代方案已由@Andrew发布,只需在Start()/ Awake()方法中使用GetComponent并存储它们以备后用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.