首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Unity打包应用卡顿问题

1、起因

所有演示Demo都通过APPManager统一进行管理,后面发现原来的应用程序打开后,运行起来有些卡顿;

后面通过查看FPS,发现FPS值只有20;而之前源工程中保存的Build的该应用程序,打开后正常,FPS值有60;

由于创凯采用的旧版本的SDK制作的软件,运行起来较为流畅,FPS值最大1000左右,最小也有150,然后开始查找SDK在升级过程中,那部分更改导致SDK打包的程序边卡了;

2、原因

APPManger采用的Unity进行开发的,默认启动时在固定窗口下打开,用于通过APPManager启动应用后,一般都等待软件启动,不会刻意将APPManager最小化或者关闭,在应用程序启动后,APPManager在后台运行;

这就导致前台运行的Demo出现卡顿,FPS只有20;后面发现,即使在后台打开一个视频(不论是否全屏),都会导致前台运行的Demo的FPS值出现明显下降;

而且用Unity打包一个空场景,在后台运行时也会对前台的Demo产生影响;

3、解决办法

APPManager在打包时,取消“Run In Background”的勾选(后面运行/鼠标焦点不在当前应用上时,Unity默认的声明周期不再执行),即APPManager切换到后台后,不再运行;

然后将Demo按照窗口模式运行,分辨率任意设置,需保证分辨率大小非全屏时大小;然后再通过相关代码,将当前窗口调整到显示器分辨率大小,实现伪全屏;

4、总结

1、Unity打包的应用,如果不勾选“Run In Background”,应用切换到后台后仍在运行,会占用相关GPU和CPU;

2、后台用其他应用或者窗口在运行时,对前台运行的程序会产生相应影响,导致前台应用出现操作变慢等情况;

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200101A0I73N00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券