UWA本地资源检测说明
- 作者:admin
- /
- 时间:2020年06月13日
- /
- 浏览:11971 次
- /
- 分类:万象更新
UWA本地资源检测是针对静态工程检测的自动化流水线,旨在帮助研发团队快速发现自身开发过程中存在的各种资源、代码和设置问题。以静态资源和代码分析为切入点,在项目早期可接入,秉持及时发现、及时解决的原则,大幅度节省项目研发的时间和人力成本。
为了帮助大家更快地上手,我们整理了这份完整版资源检测说明书,本文的结构分为三个部分:核心功能介绍、使用方法/优秀实践案例、知识点拓展【加餐】。
当前最新版本支持的核心功能如下图所示,我们会在下文进行逐一说明:
一、核心功能介绍
1、基本资源检测
报告内将详细反馈主流资源(网格、纹理、音频、材质、Animation、Shader、Video、Prefab)的使用情况,包括检测资源的属性、是否合理、处理的优先级情况等一览无遗。
同时,本地资源检测还支持特效播放检测,可以批量测试粒子特效性能,自动扫描特效,一次运行,全部检测。(详情见UWA已支持批量检测粒子特效性能)
而Shader分析模块可以针对项目中的Shader资源进行排查,Shader脚本一键扫描,Build变体全面分析。(详情见帮你把关Shader变体问题!UWA本地资源检测又更新!)
在最新的2.0.2版本中,UWA本地资源检测添加了“美术资源检测”模块,帮助美术成员检查模型、贴图的质量,快速排查美术资源,规范美术研发流程。(详情见本地资源检测大更新——2.0全新上线 / 美术资源检测 — 让你的网格无可挑剔)
2、场景、全局设置及C#代码检测
同样的,针对场景、Editor以及代码设置,我们也设定了相关的检测规则。
3、Lua脚本检测
UWA本地资源检测现已支持Lua代码扫描检测,来帮助开发团队方便地检测Lua代码不规范的问题,提高代码质量,从而提高开发的效率。详情请戳本地资源检测支持Lua检测!
4、贴心的Tips功能
结合UWA结合多年的优化经验,我们在数据检测面板中提供了对应的分析建议,所有的检测结果都有对应的说明注释,大大降低了用户的使用门槛,也帮助开发者及时作出合理的优化策略。
5、行业阈值和自定义阈值
尚处于研发早期阶段的团队常常关心一个问题:这个数据在行业水平中是怎么样,我们是不是超标了?或者我们还有多大的发挥空间?为了帮助大家更科学地树立研发规范,我们提供了10套官方阈值,对应10种不同的游戏类型。如下图,用户可以在切换阈值设定的下拉菜单中看到我们推荐的阈值选项。
这些阈值的来源为所有提交至UWA官网的大数据,我们会定期更新每种参数的阈值,以保证这些数据的时效性。
同时,研发团队也可以点击报告的右上角自定义阈值,现支持阈值方案多套保存的功能,便于大家制作更加精细的定制化需求。
6、自定义规则
大家都希望能为项目量身定制一套资源规范的规则,因此我们也为大家开放了自定义规则API,大家可自行开发适合自身项目的检测规则。(传送门:规则我说了算!自定义规则重磅上线)
7、历史数据对比与报告数据导出
报告支持对同一个项目下的任意两份报告进行全量数据对比。以“优化后通过的资源”、“历史检测通过,当前失败的资源”,“当前检测删除的资源”这三个维度,来方便研发团队进行直观的比较。我们还提供了资源对比功能,从这几张表格内可以看到是否发生了误添加/删资源的情况。
同时,报告支持对线上报告的数据导出,也可以针对单个规则进行数据导出,方便开发人员对数据进行相应的应用与处理。
8、自动修复功能
针对Unity版的本地资源检测结果,在项目工程内直接根据问题资源进行自动修复,真正打通本地资源检测“开发-检测-修复”的自动化循环,彻底解放人力、提高效率。详情可戳《本地资源检测功能更新 — “自动修复”重磅上线》了解。
二、使用方法
为方便大家能快速上手,我们制作了一个简易的【奶奶级】教程,绝不让大家踩坑,传送门:本地资源检测之民间文档 | 仅需10分钟,我又上手了一个新技能!
SDK的下载链接在https://www.uwa4d.com/#download,找到Pipeline SDK下载即可。已经在用的小伙伴也要记得及时更新喔,不然就无法体验最新功能啦。
该服务自上线以来,已经受到不少游戏开团队的积极反馈,更有一位资深用户分享了他们完整的实践流程,从接入到分析排查到复测再到总结复盘,详尽又落地,可作为大家实践参考的攻略帖:优化不再秃头,这个优秀实践我们一点一点说。
三、知识点拓展加餐【持续更新】
在今年的UWA DAY 2020的《轻量级流水线结合方案助力打造高品质游戏》一讲中,我们罗列了在UWA本地资源检测上检测未通过的触发规则。
无论是大家在开发时的疏忽,还是相关知识点的缺失,这些问题的积累最终都会反映到项目的性能表现上。为此,我们将这些规则曝光出来,并且以一个个知识点的形式逐一解读,从而让大家更深刻地明白,它们是如何对项目的整体性能情况产生影响的。
我们力图以浅显易懂的表达,让职场萌新或优化萌新深入理解。
本文会持续更新,欢迎加入收藏,定期翻阅充电。
资源篇
尺寸过大的纹理——97%的项目中招
面片数过大的网格——95%的项目中招
使用了纯色纹理——92%的项目中招
包含空纹理采样的材质——91%的项目中招
未开启OptimizeGameObjects的Animator组件——87%的项目中招
包含Scale曲线的动画片段组件——86%的项目中招
精度过高的动画片段——86%的项目中招
包含无用纹理采样的材质——79%的项目中招
粒子数上限超过30的粒子系统——79%的项目中招
引用纹理尺寸大于256的粒子系统——78%的项目中招
未使用Streaming加载的长音频
未使用PCM格式的音频
双声道的音频
尺寸过大的视频资源
包含Color属性的网格
未开启OptimizeMesh选项的网格
包含Tangent属性的网格
包含uv3或uv4属性的网格
包含Normal属性的网格
开启Read/Write选项的网格
蒙皮网格骨骼数过大
包含无效透明通道的纹理
过滤模式为Trilinear的纹理
开启Read/Write选项的纹理
开启Mipmap选项的Sprite纹理
使用非压缩格式的纹理
Wrap模式为Repeat的纹理
包含相同纹理采样的材质
包含纯色纹理采样的材质
纹理采样数过多的Shader
Compression != Optimal的动画资源
AnimationState数量过高的AnimatorController
网格发射数超过5的粒子系统
所使用的网格未开启Read/Write选项的粒子系统
引用网格面片数超过500的粒子系统
引用纹理数超过5的粒子系统
使用了MotionVector的SkinnedMeshRenderer
使用Tiled模式的Image组件
不可见的Image组件
可能生成变体数过多的Shader
全局关键字过多的Shader
Build后生成变体数过多的Shader
特效播放时平均Overdraw率过高
特效播放时DrawCall峰值过高
特效总贴图内存过大
使用了Standard Shader的材质
特效运行时包含的ParticleSystem组件数量过多
播放特效时最大粒子数量过多
特效总贴图数量过大
开启各向异性过滤的纹理
移动端场景雾效检测
UI子节点过多的Canvas
检测场景中的MeshCollider
挂载多个AudioListener的物体
检测场景物件与Prefab的连接是否正常
挂载RigidBody的静态物体
场景总顶点数过大/总面片数过大
阴影分辨率设置不规范的灯光
检测场景中的Rigidbody
场景中MeshCollider使用的总面片数过多
相关推荐
规则我说了算!| 自定义规则重磅上线
单规则多阈值设置功能上线
“自动修复”重磅上线
自定义规则 零基础上手指南
功能上新|本地资源检测 3.1.3版本