你又可以大幅提升项目性能啦!

简介:

新功能特性详细说明

UWA本次新功能的特性主要为资源加载、GameObject Instantiate/Destroy、GameObject Active/Deactive、资源管理汇总四大功能模块,下面小编将一一为大家说明。

一、资源加载

重点分析项目通过Resources和AssetBundle的加载开销,说明如下:

1. AssetBundle资源加载
在AssetBundle加载页面中,用户可以看到每个具体资源在项目检测过程中的具体CPU耗时,同时我们在之前版本的基础上还明确了资源的加载母体AssetBundle信息,这样可以帮助研发团队更加方便地定位和优化。
请输入图片描述

2. Resource加载
支持用户在Resource加载页面中对耗时选项进行排序,其资源加载耗时的Top10即可一目了然。
请输入图片描述

特别说明:该新功能不仅可以让用户看到整体加载耗时和加载次数,同时还可以通过图表来显示具体每次加载的位置和耗时。如下图,资源文件cite_girl(图中右上角)是通过AssetBundle.Load来加载的,可以看到在项目检测过程中,该资源被频繁加载,且每次加载耗时主要集中在100~200ms之间。
请输入图片描述

下图中的SpeedRaceUI和UIscene_BJT是通过Resources.Load来加载的,可以看到在项目检测过程中,该资源被频繁加载,前者加载耗时主要集中在300ms左右,后者则主要集中在150ms左右。
请输入图片描述


二、GameObject Instantiate/Destroy

GameObject实例化和销毁耗时同样是研发团队非常希望掌握的一个关键点。在UWA今天更新的版本中,我们将会让研发团队明确任何一个GameObject在实例化和销毁时的CPU占用情况。大家不仅可以看到最为耗时的GameObject,同时还可以看到其每次触发的时间点。

下图中的YX_DCJM_02,在游戏过程中被频繁实例化,且每次耗时均将近100ms,对此,研发团队完全可以考虑将其缓存,以避免后续0.1s的开销。

请输入图片描述
请输入图片描述


三、GameObject Active/Deactive

GameObject Active/Deactive是研发团队非常容易忽视的,大多数团队认为状态的切换开销甚微,但正是由于这些“疏忽”导致了某些GameObject的Active/Deactive切换造成了大量的CPU耗时。

下图则为游戏检测过程中,shadow的Active/Deactive的操作由于大量次数的累积,都是属于一个较高的耗时。

请输入图片描述
请输入图片描述
请输入图片描述

通过这些功能中的数据,研发团队可以从以下几点进行针对性优化:

  • 针对加载频繁且耗时的资源,可以详细对其资源进行检测,查看是否有进一步优化的空间(比如纹理可检查其分辨率、格式等);
  • 当研发团队明确了加载或实例化的瓶颈后,可针对具体资源、GameObject进行缓存,从而降低其CPU耗时。

四、资源管理汇总

以UWA的优化经验来看,二八定律同样适用于项目的开发管理,即80%的性能问题集中在20%的资源中。为此,我们将需要注意的Top10的问题直接反馈给用户(新版本中的“资源管理汇总”界面),用户通过对这些重点对象的快速处理,能在短期时间内达到立竿见影的优化效果。目前主要包括:

(1)AssetBundle的加载次数Top10
请输入图片描述

(2)资源加载的次数和耗时Top10
请输入图片描述

(3)GameObject 实例化/销毁次数和耗时Top10
请输入图片描述
请输入图片描述

(4)GameObject Active/Deactive次数和耗时Top10
请输入图片描述
请输入图片描述


五、其他更新

1. 截图功能更新

在当前版本中,我们将项目的运行截图从原来的 5秒/张 提升为 1秒/张,从而反映更详细全面的项目运行情况,助您更犀利地洞察每一个性能瓶颈,捕捉任何可以优化的机会!
请输入图片描述

2. iOS SDK 更新
在当前版本中,我们大力完善了SDK的兼容,主要包括:

  • 增加了截图功能对Metal的支持,不再限制打包项目时所选择的Graphic API
  • 增加了对使用sLua和ToLua项目的支持
  • 增加了对使用sLua,ToLua和uLua的项目的集成检测功能,用户可以一键检测SDK的集成是否成功





原文出处:侑虎科技
本文作者:admin
转载请与作者联系,同时请务必标明文章原始出处和原文链接及本声明。

目录
相关文章
|
12月前
|
监控 物联网 云计算
优化服务配置:提升效率与用户体验的关键
随着科技的迅猛发展,服务配置已经成为企业和个人生活中不可或缺的一部分。无论是云计算、移动应用、还是物联网设备,都需要良好的服务配置来确保顺畅的运行和卓越的用户体验。本文将探讨服务配置的重要性,以及如何优化配置以提高效率和用户满意度。
|
4月前
|
缓存 前端开发 JavaScript
如何优化前端性能提升用户体验
在Web应用中,前端性能是影响用户体验和转化率的关键因素之一。本文将介绍一些优化前端性能的方法,包括减少HTTP请求、使用缓存、压缩代码等。
|
21天前
|
存储 安全
现在降低企业IT成本的11种方法
现在降低企业IT成本的11种方法
|
2月前
|
开发框架 Cloud Native Devops
对抗软件复杂度问题之软件复杂度的增加会导致研发效率降低,如何解决
对抗软件复杂度问题之软件复杂度的增加会导致研发效率降低,如何解决
|
3月前
|
存储 编解码 数据挖掘
一篇文章掌握大厂成本优化框架
一篇文章掌握大厂成本优化框架
EMQ
|
存储 JSON 监控
MQTT X 1.9.1 发布:资源消耗降低 80%,稳定性大幅提升
MQTT 5.0客户端工具MQTT X 1.9.1稳定版本正式发布,CPU资源消耗与内存占用减少80%,整体性能大幅优化。
EMQ
181 0
MQTT X 1.9.1 发布:资源消耗降低 80%,稳定性大幅提升
|
机器学习/深度学习 存储 数据可视化
开发者效率的几个瓶颈点
开发者效率的几个瓶颈点
开发者效率的几个瓶颈点
|
存储 传感器 机器学习/深度学习
V2X会是未来趋势吗?看看这种轻量级方法,大幅降低碰撞概率!
本文提出了一种Ledger概念,它通过Ledger信息的广播,在一个资源预留区间(RRI)内向网络中的每辆车传递碰撞信息。碰撞车辆知道它已经与其他车辆相撞,并将在下一个 SPS 期间重新选择。除此之外,其他协议都遵循 SPS。通过引入 Ledger,虽然牺牲了14.29% 的资源,但最终可以降低碰撞概率。本文使用蒙特卡罗模拟器对Ledger系统的性能进行了验证和分析。数值结果表明,遵循 SPS 协议,Ledger 系统可以使碰撞概率在一定数量 RRI 后收敛到零。
V2X会是未来趋势吗?看看这种轻量级方法,大幅降低碰撞概率!
EMQ
|
缓存 运维 Kubernetes
5.0 版本持续优化:ExProto 吞吐性能提升
九月,EMQX 5.0保持稳定更新,目前已发布5.0.8版本,企业版4.3&4.4发布最新维护版本。云服务方面,EMQX Cloud新增1000连接规格的专业版部署。
EMQ
249 0
5.0 版本持续优化:ExProto 吞吐性能提升
|
机器学习/深度学习 存储 弹性计算
冷启动优化:开发者侧降低冷启动影响的方案
冷启动优化:开发者侧降低冷启动影响的方案
14440 0
下一篇
DDNS