网易首页 > 网易号 > 正文 申请入驻

GOT Online|解密游戏性能优化秘籍

0
分享至

‍‍‍‍‍‍‍‍‍

随着UWA GOT Online功能的不断迭代,GOT Online为解决各种游戏性能问题(如内存占用、CPU耗时、GPU耗时和卡顿)提供了丰富的高效、准确且便捷的数据获取方式和分析建议。本文总结了GOT Online(SDK 2.4.7版本)中的关键优化要点,涵盖了数据获取、数据分析和性能优化等方面。不论你是哪个段位的工程师,这篇文章都是一本值得仔细研读的宝典。

阅读引导

1

卡顿优化

2

GPU优化

3

内存优化

4

Lua性能优化

5

能耗优化

6

更多提升使用体验的优化项

卡 顿 优 化

卡顿分析

在卡顿点分析功能下,UWA在每帧耗时曲线中列举出了运行过程中的所有卡顿帧。选中任意卡顿点,即可在查看这一帧的详细数据。除了耗时、占比、调用次数外,在Timeline中还可以清晰地看到主线程和子线程的进程情况,便于开发者对这些异常节点的耗时情况进行详细分析。

在重点函数分析页签下,UWA对测试过程中容易发生卡顿的重点函数进行了分类和整合,开发者可以更高效地排查项目中的卡顿情况,定位卡顿原因。

如何快速定位你的卡顿

https://blog.uwa4d.com/archives/UWA_GOTOnline4.html

卡顿分析界面:重点函数分析和卡顿点分析

https://blog.uwa4d.com/archives/UWA_GOTOnline7.html

GPU Counter、Timeline功能‍‍

https://blog.uwa4d.com/archives/UWA_GOLOverview.html

资源管理

在资源管理模块下,UWA列出了各个资源的加载耗时、频率情况,开发者可以准确定位到是哪个资源造成的耗时瓶颈,查看到每个资源的加载/卸载、每个GameObject的实例化/激活等具体耗时情况。

GOT Online Resource模式下的资源管理模块

https://blog.uwa4d.com/archives/UWA_GOTOnline7.html

在Resource模式下,或在Overview模式开启Resource模式时,勾选资源管理模块,即可在资源管理模块查看到AssetBundle加载&卸载、资源加载&卸载、资源实例化&激活的四大模块。

在资源管理汇总界面,UWA将需要注意的加载耗时、频率TOP 10的问题资源直接列出,通过对这些重点对象快速处理,能在短时间内达到立竿见影的优化效果。同时,也可以重点分析不同加载接口的使用情况,比如在“资源加载&卸载”界面,用户可以看到被加载的资源属于哪个AssetBundle,用了哪个接口以及加载的耗时、次数等。

GPU 优化

SoC信息

在SoC GPU信息模块下,开发者可以从更宏观的角度对设备的GPU运行情况进行监控,在观察GPU运行状态、判断是否存在GPU降频情况的同时,也可以快速定位GPU压力较大的场景,更有针对性地进一步分析这些场景的性能压力来源。

GPU篇:SoC GPU信息、GPU Counter性能指标

https://blog.uwa4d.com/archives/UWA_GOTOnline9.html

GPU Counter

经过对GPU Counter功能不断的完善和迭代,GPU Counter模块已经支持Mali、Adreno、PowerVR三个品牌芯片的设备,包括九个重要GPU参数模块。开发者可以通过GPU耗时、GPU活动来定位项目哪些场景的性能瓶颈来自GPU,并通过GPU着色、带宽、图元这些详尽的参数,更高效便捷地定位GPU压力来源、制定性能标准。

GPU Counter、Timeline功能

https://blog.uwa4d.com/archives/UWA_GOLOverview.html

Mali GPU Counter模块新增GPU图元处理和GPU Shader Cycle

https://blog.uwa4d.com/archives/UWA_GOLGPUCounter.html

GPU Counter支持Adreno、PowerVR芯片

https://blog.uwa4d.com/archives/UWA_GOLGPUCounter2.html

SoC GPU信息、GPU Counter性能指标

https://blog.uwa4d.com/archives/UWA_GOTOnline9.html

内 存 优 化

PSS显存 &内存占用 &资源内存

在运行信息页下的PSS内存模块中,开发者可以查看测试过程中的PSS显存数据,结合资源内存数据,对项目的闪退风险进行管控。

在内存占用页,开发者可以快速总览项目中纹理、网格、动画、音频等各类资源的内存占用情况和趋势、了解项目的内存分布,以及细分定位到哪些资源存在问题,大幅节省逐个资源排查的时间。

在资源内存页,UWA会根据测试时是否开启Resource模式、是否手动dump等情况,不同程度地展示资源的具体信息。在这个页面下,开发者可以在采集Overview模式数据的同时,也能获取到和Resource模式一样全面的资源数据。

PSS显存、内存占用、堆内存对象快照

https://blog.uwa4d.com/archives/UWA_GOTOnline8.html

内存篇:PSS显存、内存占用、堆内存对象快照

https://blog.uwa4d.com/archives/UWA_GOTOnline8.html

GOT Online支持多模式采集、Mono分析支持IL2CPP打包

https://blog.uwa4d.com/archives/UWA_GOTOnline7.html

当测试中未开启Resource模式时,资源统计模块会统计主要场景(测试起始帧、每千帧、场景切换帧和结束帧等)中纹理、网格、Shader、字体、RenderTexture、粒子系统等主流资源的数量和大小;而当开启Resource模式后,则会对上述资源的使用详情做更详细的采集。

以纹理资源为例,开启Resource模式后,可以在报告中获取纹理资源的内存占用、数量峰值、宽度、高度、生命周期和是否开启了R/W等属性,以便开发者对纹理的使用情况做更详细地排查。

当在Overview模式下发现Mono存在问题时,就可以使用Mono模式,对Mono的分配和驻留情况进行具体分析。

多线程统计Mono分配

Mono模式除了主线程外,也可以获取到子线程的堆内存分配情况。使用Mono模式,开发者可以更全面地对项目的Mono分配和驻留进行分析,也能够更放心地使用子线程来分担主线程的性能压力。

多线程统计

https://blog.uwa4d.com/archives/UWA_GOTOnline3.html

Mono倒序调用分析

在堆内存具体分配模块下,可以使用倒序调用分析功能对Mono分配情况进行查看。开发者可以通过这个功能,更便捷地定位到分配Mono堆内存的深层子函数,定位内存问题的瓶颈。

Mono堆内存倒序调用分析

https://blog.uwa4d.com/archives/MonoStack_reverse.html

驻留堆内存分配函数

在堆内存泄漏分析下,即可查看驻留堆内存分配前10位的函数。通过对两次采样间的内存变化比较,开发者可以快速地捕捉具体的泄露函数、泄露的具体内存和变量数据。

GOT Online新版本中暗藏的小心机

https://blog.uwa4d.com/archives/UWA_GOTOnline5.html

堆内存对象快照

通过堆内存对象快照,开发者可以对场景中的堆内存对象情况进行详细采样。在对场景中的Mono驻留问题有一个直观了解的同时,高效锁定Mono堆内存瓶颈,并着手优化。

堆内存对象快照

https://blog.uwa4d.com/archives/UWA_GOTOnline8.html

“堆内存泄漏分析”中的“驻留堆内存分配函数”以及“堆内存对象快照”页,方便开发者对运行时的堆内存对象驻留情况进行详细地分析。

在测试时,根据测试开始前设置的Dump规则,在每固定间隔帧或手动Dump时,UWA会对堆内存对象进行数据采集。

开发者可以在“堆内存对象快照”页中的堆内存对象柱状图表中,从“堆内存对象大小”和“堆内存对象个数”两个维度,快速定位到哪些场景中存在需要优化的堆内存驻留问题。

堆内存对象分为Managed Object和内存碎片两部分,其中内存碎片中包含了“空闲激活内存”和“空闲碎片内存”。进行堆内存分配时,会优先使用“空闲激活内存”中可用的内存块,其次才会从“空闲碎片内存”中查找可用的内存块。

在柱状图下方,会显示选中帧所有类型的Managed Object大小、对象类型总数、对象类型个数、内存碎片占比。右侧饼状图会展示前10位和其他类型的对象和的占比,以便开发者对这一帧的堆内存对象情况有一个更直观的了解的同时,快速锁定Mono堆内存瓶颈。

同时,在饼图下方的对象类型表中,也将展示出这一帧所有对象的类型、大小、占比、对象个数等信息。在展开对象类型后,开发者就可以快速定位到调用此对象类型的所有函数和选中函数的倒序调用路径。

通过这张表格,可以更精确地定位堆内存分配的出处,并通过在代码中搜索对应的子函数,更高效地对其堆内存分配进行优化。

Lua 性 能 优 化

Lua性能分析

在Lua报告中,开发者可以看到测试时总体堆内存、堆内存具体分配和Mono对象引用的数据,开发者可以在此页签中对项目的Lua内存的分配和占用情况进行分析。

Lua,是时候和你走走心了!

https://blog.uwa4d.com/archives/UWAGOTOL_LuaMemory.html

UWA支持Lua CPU耗时分析

https://blog.uwa4d.com/archives/Lua_Cpu.html

Lua倒序调用分析

Lua报告支持倒序调用分析,在倒序调用分析页下,开发者可以直接定位到最底层的Lua堆栈,一眼挑出耗时最大、分配最多的的始作俑者,高效地解决问题。

GOT Online新版本中暗藏的小心机‍‍‍

https://blog.uwa4d.com/archives/UWA_GOTOnline5.html

在倒序模式下,某结点展开后的直接函数列表为对该结点函数有所调用、并产生堆内存的父函数,因此可以直接定位到最底层的原因,再也不用为深不见底的堆栈而无脑“点点点”了。

Mono 对象引用

在Mono对象引用模块下,开发者可以直观地查看Mono端已经被Destroy但Lua端却依然被索引的变量的对象的数量和走势,并通过对比模式将采样点做比较,更便捷地定位C#层的内存泄漏问题。

Lua代码优化

https://blog.uwa4d.com/archives/UWA_ReportModule4.html

在任意一种Lua插件中,都存在类似的机制:在C#层维护一个Cache来引用那些被Lua访问过的C#层对象,防止出现以下的问题:当Lua中再次访问该C#对象时,该对象可能已经被C#层的GC回收掉了,从而导致逻辑错误。所以,在Lua中始终保留某个C#层对象的引用,将会导致其无法被释放,当这样的引用越来越多,就会导致C#层的内存泄漏。

为了便于用户排查这种情况,我们在Mono对象引用的报告页面中对上述的Cache中C#层对象进行了汇总,统计了Cache中出现的对象类型和各个类型的对象总数。当该对象继承自UnityEngine.Object时,还将统计该类型中已经被Destroy的对象数量,如下图所示:

所以,对于判断Lua引用导致Mono泄露的一个简单的方法就是查看Destroyed总数是否为零。因为它表示的是Mono端已经被Destroy但Lua端却依然被索引的变量总数,理论上应该是趋向于0的。如果它持续很高,甚至还有不断走高的趋势,那么很大概率是泄露了,如下图所示:

对于某些数量持续上涨的对象类型,包括Destroy数量和走势等,还可以在图表下通过对比两个不同采样点的对象引用,从而进一步定位Lua中不合理的引用,分析增量的合理性。

补充说明:关于排查泄露的需求,建议长时间测试,毕竟泄露问题一旦发生,聚沙成塔就很快了。

能 耗 优 化

功率

在耗电量页,可以查看测试过程中的功率数据。便于开发者通过观察测试过程中设备的功率和电流情况,对项目的功耗情况进行分析。

GPU Counter功能支持Adreno、PowerVR芯片

https://blog.uwa4d.com/archives/UWA_GOLGPUCounter2.html

温度变化量

在温度变化量页,UWA支持CPU温度、GPU温度和电池温度数据,开发者可以通过这些硬件的温度情况,定位设备发热原因。

Mali GPU Counter模块新增GPU图元处理和GPU Shader Cycles

https://blog.uwa4d.com/archives/UWA_GOLGPUCounter.html

更 多 提 升 使 用 体 验 的 优 化 项

自定义参数

使用UWA自定义参数截取需要分析的代码,即可在自定义参数下的自定义代码段和自定义变量页对代码进行检测和跟踪后。通过这个功能,开发者可以更灵活地定位代码瓶颈和反馈代码问题。

支持自定义变量和代码段检测

https://blog.uwa4d.com/archives/UWAGOT0L_API.html

函数释义Tips

在Overview报告的各个模块的函数堆栈下,UWA结合结合丰富的优化经验,UWA对优化过程中的常见函数进行了标注。有了这些贴心的Tips,开发者就可以快速归因并给出整改方法,让优化的效率更上一层。

对比分析、Batches数量、函数释义Tips

https://blog.uwa4d.com/archives/UWA_GOTOnline10.html

在Overview报告的各个模块的函数堆栈下,新增了函数释义的Tips。结合丰富的优化经验,UWA对优化过程中的常见函数进行了标注。将鼠标移动到函数名右侧的“ ! ”上,即可查看函数的释义、耗时来源、优化方式等信息。

对比分析

通过报告右侧的快捷入口,即可对Overview报告中不同的场景进行全面地对比分析。开发者可以在快速定位问题的同时,便捷且充分地在团队内部搭建起监控流程,定期对项目的性能情况进行数据汇总,形成更高效便捷的性能数据监控闭环。

对比分析、Batches数量、函数释义Tips

https://blog.uwa4d.com/archives/UWA_GOTOnline10.html

场景分割

通过使用场景概览-场景管理下的场景分割的功能,开发者即可针对不同场景、UI 界面等模块,更精细化地统计具体场景的耗时情况,进一步为数据分析带来便利。

支持资源加载分析、场景分割

https://blog.uwa4d.com/archives/UWA_GOTOnline6.html

可通过在“场景概率-场景管理”中点击“新增场景分割线”按钮,输入分割的位置和场景名,即可在页面上看到最新的数据分析。

更多UWA GOT Online使用技巧等待你的探索,也欢迎大家提出建议和需求!免费试用可以前往www.uwa4d.com,注册用户即可获得15天的试用权益!‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

近期精彩回顾

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
“SHE”成员Selina任家萱近况曝光,体重超160斤,社交账号已经停止使用半年以上

“SHE”成员Selina任家萱近况曝光,体重超160斤,社交账号已经停止使用半年以上

大风新闻
2026-08-21 10:04:35
被传离婚一个月后,李小冉七夕一张照片说明一切!没有老公同框,却让所有替她担心的人彻底闭嘴了

被传离婚一个月后,李小冉七夕一张照片说明一切!没有老公同框,却让所有替她担心的人彻底闭嘴了

子芫伴你成长
2026-08-22 20:12:14
西藏旅游途中邂逅37岁已婚女人,她告诉我:处着玩可以,结婚不行

西藏旅游途中邂逅37岁已婚女人,她告诉我:处着玩可以,结婚不行

千秋文化
2026-08-22 20:22:39
江苏省十大龙头民营企业!

江苏省十大龙头民营企业!

花小猫的美食日常
2026-08-22 14:49:50
误国之言!一句“中国汽车出口全球第一”,让我又看到了大清影子

误国之言!一句“中国汽车出口全球第一”,让我又看到了大清影子

壹只灰鸽子
2026-08-17 11:18:35
莫言:永远不要期望一个没有血缘关系的人,能站在你的角度替你考虑|成年人最大的清醒

莫言:永远不要期望一个没有血缘关系的人,能站在你的角度替你考虑|成年人最大的清醒

杏花烟雨江南的碧园
2026-07-27 11:15:03
男篮抵达卡塔尔!众球员展露疲惫,杨瀚森跟队,全队完成大合影!

男篮抵达卡塔尔!众球员展露疲惫,杨瀚森跟队,全队完成大合影!

篮球资讯达人
2026-08-22 15:21:53
爆砍41+11+4+3!约基奇迎来强力帮手!别说雷霆,连马刺也要担心了

爆砍41+11+4+3!约基奇迎来强力帮手!别说雷霆,连马刺也要担心了

篮球大视野
2026-08-22 12:42:04
U18男篮亚洲杯:脸都不要了!中国男篮杀入4强,菲律宾耍阴招

U18男篮亚洲杯:脸都不要了!中国男篮杀入4强,菲律宾耍阴招

观锐器
2026-08-22 14:46:06
一天4个瓜!承认恋情、负债600万、官宣怀二胎,赵丽颖让人好意外

一天4个瓜!承认恋情、负债600万、官宣怀二胎,赵丽颖让人好意外

喜欢历史的阿繁
2026-08-21 11:20:16
局势失控,美预警机突发坠落,伤亡飙破750人,美或下达最狠制裁

局势失控,美预警机突发坠落,伤亡飙破750人,美或下达最狠制裁

補懂事的孩紙
2026-08-22 04:46:06
潘展乐47秒91夺冠 波波维奇欧锦赛46秒56距世界纪录仅差0.16秒

潘展乐47秒91夺冠 波波维奇欧锦赛46秒56距世界纪录仅差0.16秒

林子说事
2026-08-22 14:50:26
点球+红牌+失点+绝平!神剧本:卫冕冠军1-1被逼平,小将补时救主

点球+红牌+失点+绝平!神剧本:卫冕冠军1-1被逼平,小将补时救主

失宠的小野猪
2026-08-22 20:17:26
浙江湖州,60岁老中医以针灸理疗为由,将18岁女护士约至家中侵犯

浙江湖州,60岁老中医以针灸理疗为由,将18岁女护士约至家中侵犯

雪峰说法
2026-08-22 08:40:18
日本参战了?乌克兰前线惊现大量日籍佣兵,还有人写“简体中文”支持!

日本参战了?乌克兰前线惊现大量日籍佣兵,还有人写“简体中文”支持!

军武次位面
2026-08-21 18:33:03
雷德利·斯科特《狗星》首周末预计仅1800万,1.1亿成本难回本

雷德利·斯科特《狗星》首周末预计仅1800万,1.1亿成本难回本

赴一场山海啊
2026-08-22 01:20:04
51:0不是神话,是歼-16给世界的一点“工业震撼”

51:0不是神话,是歼-16给世界的一点“工业震撼”

樱桃小丸子1987
2026-08-22 22:42:58
无名指比食指长的人,命格异于常人,古代相师为何称其文曲星转世

无名指比食指长的人,命格异于常人,古代相师为何称其文曲星转世

一根香烟的少妇
2025-09-13 16:35:45
李在明,真是老狐狸之中的老狐狸,特朗普威胁韩国分摊 100 亿军费,李在明反呛特朗普:我完全同意“韩国的安全应该由韩国自身来负责”

李在明,真是老狐狸之中的老狐狸,特朗普威胁韩国分摊 100 亿军费,李在明反呛特朗普:我完全同意“韩国的安全应该由韩国自身来负责”

扶苏聊历史
2026-08-22 15:38:44
姆巴佩西甲10次射门未进球,2018年C罗后首人

姆巴佩西甲10次射门未进球,2018年C罗后首人

懂球帝
2026-08-23 05:37:28
2026-08-23 05:48:49
侑虎科技UWA incentive-icons
侑虎科技UWA
游戏/VR性能优化平台
1615文章数 987关注度
往期回顾 全部

科技要闻

苹果裁员200人:Vision Pro砍游戏团队

头条要闻

全季起诉“金季”索赔10万 老板娘:日租才50到60元

头条要闻

全季起诉“金季”索赔10万 老板娘:日租才50到60元

体育要闻

字母+汤神,有没有搞头?

娱乐要闻

《空枪》预测票房缩水,手握王炸都没赢

财经要闻

蔡昉解读经济:扩大消费需求的政策思考

汽车要闻

钛9全球首秀/四季度上市 方程S系列内饰车展亮相

态度原创

教育
家居
时尚
艺术
旅游

教育要闻

四六级出分别慌!做好这3件事就稳

家居要闻

2026建博会(广州) 公装联探展交流活动

真爱返场|| 5年如一日的心头好,这个价格真香

艺术要闻

60年里的惊人照片,记忆的定格!

旅游要闻

视频丨看电影、赏美景 暑假到西藏“过林卡”感受别样的日光之城

无障碍浏览 进入关怀版