极简模式,助力宏观数据监控

news2024/11/24 12:21:58

随着UWA GOT Online采样的参数越来越多样化,为了提升开发者的使用体验,我们最新推出了三种预设数据采集方案:极简模式、CPU模式、内存模式。该更新旨在降低多数据采集对数据准确性的干扰,同时也为大家提供更精准且有针对性的数据指标,降低分析成本。

概括来说,极简模式让您专注于整体运行的宏观信息,综合判断项目的健康度;CPU模式和内存模式则分别通过引擎模块的重点参数和 内存层面的细节组成(如Mono,Lua和资源内存等) 来深入定位问题瓶颈。

开启全新的UWA SDK 2.4.9,让您的性能监控之旅变得更加直观和高效。

极简模式

极简模式不额外占用性能开销,开发者可以准确获取各类指标数值以及报告评分。

在极简模式下,UWA SDK默认关闭所有数据获取配置,但保留了游戏运行的宏观数据,包括FPS、内存、设备电量、设备温度、网络传输、GPU参数等。

除了支持Development包外,极简模式也支持Release包,以便数据更接近玩家端的性能表现。

极简模式可以用于对项目的性能情况进行定期监控。UWA建议项目每双周进行一次此模式下的数据采集,确保项目性能的健康状态。

当项目的某项性能数据出现下滑时,开发者就可以根据性能简报中的评级和具体数据,选择其他模式进行进一步的测试。

CPU模式

CPU模式专注于定位CPU性能瓶颈,当已知CPU压力较大、需要进一步分析定位时,可以使用该模式进行测试。

在CPU模式下,UWA 默认开启与CPU相关的几个选项,包括详细堆栈、Lua堆栈、Timeline、Unity API、资源管理等,这些选项可以帮助开发者更具体地了解项目的CPU性能情况。

其中,堆栈获取可以查看总体性能趋势下各模块的函数堆栈信息,帮助开发者了解各个模块的性能表现。详细堆栈细节可以使引擎模块函数下的堆栈进一步展开,获取更多堆栈细节。

总体性能趋势:

详细堆栈:

如果项目使用了Lua,也可以在卡顿分析页和逻辑代码模块的函数堆栈中查看Lua函数的具体耗时和堆栈信息。

Lua:

同时,在Timeline模块中我们可以对卡顿函数进一步分析,查看主线程和子线程的交互情况。

Timeline:

Unity API则可以补充数据采集的Unity接口,如果项目使用了这些API,可以在函数堆栈中看到这些函数的堆栈信息。

Unity API:

而在开启资源管理模块后,可以在报告的资源管理页查看测试过程中各项资源的加载、卸载情况,定位长时间驻留在内存或频繁加载卸载的资源,及时调整资源加载策略。

资源管理:

内存模式

内存模式专注于定位内存使用问题,开发者可以通过此模式查看更细节的内存分布。当项目的内存占用较高或需要进一步分析优化时,可以使用内存模式进行测试。

在内存模式下,UWA 默认开启Resource和Lua内存选项,并且会在测试过程中每1000帧自动采集Lua内存数据。

在内存分析下的资源分析页中,开发者可以查看更详细的纹理、网格、动画等11种主流资源的内存走势和具体资源信息。除了通用的内存、数量、生命周期外,针对不同类型的资源,UWA还会列出相关的重要参数。

纹理的属性截图:

在Lua内存页下,则可以通过总体堆内存、堆内存具体分配和Mono对象引用三个页签,详细查看Lua的资源内存和排查Lua堆内存分配情况。

Lua截图:

除了上述的3个预设方案外,UWA还提供了灵活的自定义配置选项,开发者可以结合自身需求灵活配置检测数据,获取关键的性能数据,准确定位CPU耗时、内存占用高和卡顿问题的源头。


UWA也将继续关注开发者的需求,并不断更新和改进工具的功能和服务,帮助开发者更高效地进行性能分析和优化工作。

UWA SDK下载链接:UWA | 致力于游戏VR和AR应用提供项目研发解决方案 | 简单优化、优化简单 | 侑虎科技,欢迎试用体验!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1288057.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

『亚马逊云科技产品测评』活动征文|基于亚马逊EC2云服务器安装Bolo开源博客

授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道 亚马逊EC2云服务器(Elastic Compute Cloud)是亚马…

微软NativeApi-NtQuerySystemInformation

微软有一个比较实用的Native接口:NtQuerySystemInformation,具体可以参考微软msdn官方文档:NtQuerySystemInformation, 是一个系统函数,用于收集特定于所提供的指定种类的系统信息。ProcessHacker等工具使用NtQuerySys…

HarmonyOS学习--TypeScript语言学习(二)

本章目录如下: 一、基础类型 二、运算符 三、变量声明 四、类型断言 五、类型推断 TypeScript支持一些基础的数据类型,如布尔型、数组、字符串等,下文举例几个较为常用的数据类型,我们来了解下他们的基本使用。 关于let 我们…

python爬虫混肴DES案例:某影视大数据平台

声明: 该文章为学习使用,严禁用于商业用途和非法用途,违者后果自负,由此产生的一切后果均与作者无关 一、找出需要加密的参数 js运行atob(‘aHR0cHM6Ly93d3cuZW5kYXRhLmNvbS5jbi9Cb3hPZmZpY2UvQk8vTW9udGgvb25lTW9udGguaHRtbA’…

模拟电路学习笔记(一)之芯片篇(持续更新)

模拟电路学习笔记(一)之芯片篇(持续更新) 1.CD4047BE芯片 CD4047是一种包含高电压的多谐振荡器,该器件的操作可以在两种模式下完成,分别是单稳态和非稳态。CD4047需要一个外部电阻器和电容器来决定单稳态…

FL Studio中如何录音的技巧,让你的声音更加出众哦!

​ Hey小伙伴们!今天我要和大家分享一下在FL Studio中如何录音的技巧,让你的声音更加出众哦! 编曲软件FL Studio 即“Fruity Loops Studio ”,也就是众所熟知的水果软件, 全能音乐制作环境或数字音频工作站&#xff0…

一位半加法器,一位全加器,四位全加器

我们这里的加法器只考虑一位的情况。 当我们两个一位相加的话,那么就有两个输入,两个输出,两个输入很好理解,就是两个个位上的数字,0或者是1,那么为什么需要有有个输出呢?难道不是输出一个数就…

系统运维安全之病毒自检及防护

一、前言 Linux勒索病毒(Linux ransomware)是一种最令人恶心的计算机恶意病毒,它以侵入Linux系统,捆绑文件并要求支付赎金才能释放文件为主要目的,破坏用户的数据,造成数据讹诈。Linux勒索病毒它们的存在已…

HTML5+CSS3+JS小实例:焦点图波浪切换动画特效

实例:焦点图波浪切换动画特效 技术栈:HTML+CSS+JS 字体图标库:Font Awesome 效果: 源码: 【HTML】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name=&…

对标Gen-2!Meta发布新模型,进军文生视频赛道

随着扩散模型的飞速发展&#xff0c;诞生了Midjourney、DALLE 3、Stable Difusion等一大批出色的文生图模型。但在文生视频领域却进步缓慢&#xff0c;因为文生视频多数采用逐帧生成的方式,这类自回归方法运算效率低下、成本高。 即便使用先生成关键帧,再生成中间帧新方法。如…

【QT】容器类的迭代

迭代器(iterator)为访问容器类里的数据项提供了统一的方法&#xff0c;Qt有两种迭代器类&#xff1a;Java类型的迭代器和STL类型的迭代器。 Java类型的迭代器更易于使用&#xff0c;且提供一些高级功能&#xff0c;而STL类型的迭代器效率更高。 Qt还提供一个关键字foreach&…

ELK(二)—Elasticsearch安装部署

一、环境准备 1.1java环境准备&#xff08;不用安装也可以&#xff0c;Elasticsearch自带了0.0,可以直接从二看了&#xff09; Elasticsearch是用Java编写的分布式搜索引擎&#xff0c;因此在安装和运行Elasticsearch时需要Java运行时环境&#xff08;Java Runtime Environmen…

如何选呼叫中心的语音通道?

如何选呼叫中心的语音通道&#xff1f; 在公网语音线路和专线语音线路中&#xff0c;选择合适的语音通道类型需要根据呼叫中心的实际需求进行综合考虑。 如果呼叫中心的预算有限&#xff0c;或者对语音质量和稳定性的要求不高&#xff0c;可以选择公网语音线路。如果需要更高…

获得矩阵对角线元素的索引 numpy.diag_indices_from()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 获得矩阵对角线元素的索引 numpy.diag_indices_from() [太阳]选择题 请问关于以下代码的选项表述错误的是&#xff1f; import numpy as np a np.array([[1, 2, 3], [4, 5, 6…

智能优化算法应用:基于寄生捕食算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于寄生捕食算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于寄生捕食算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.寄生捕食算法4.实验参数设定5.算法结果6.参考…

[wordpiece]论文分析:Google’s Neural Machine Translation System

文章目录 一、论文解读1.1 模型介绍1.2 模型架构1.3 wordpiece 二、整体总结 论文&#xff1a;Google’s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation 作者&#xff1a;Yonghui Wu, Mike Schuster, Zhifeng Chen, Quoc V. Le,…

26、pytest使用allure解读

官方实例 # content of pytest_quick_start_test.py import allurepytestmark [allure.epic("My first epic"), allure.feature("Quick start feature")]allure.id(1) allure.story("Simple story") allure.title("test_allure_simple_te…

数据库学习日常案例20231203-Mysql高级 -- 日志管理篇

Mysql高级 -- 日志篇 *日志类型 1.mysql的6类日志&#xff1a; 2.日志的弊端 *慢查询日志(slow query log) *通用查询日志(general query log) 1.作用&#xff1a; 2.问题场景&#xff1a; 3.查看当前状态 &#xff1a; 4.启动日志&#xff1a; 方式1&#xff1a;永久…

MySQL 8 update语句更新数据表里边的数据

数据重新补充 这里使用alter table Bookbought.bookuser add userage INT after userphone;为用户表bookuser在userphone列后边添加一个类型为INT的新列userage。 使用alter table Bookbought.bookuser add sex varchar(6) after userage ;为用户表bookuser在userage 列后边添…

文件批量管理技巧:高效移动文件并创建文件夹,按数量分类的重要性

在日常生活和工作中&#xff0c;经常会遇到大量的文件要管理。这些文件可能存储在电脑的硬盘、外部存储设备或是云存储中。如何高效地管理这些文件&#xff0c;以便能够快速找到所需的资料&#xff0c;是一项非常重要的技能。本文讲解云炫文件管理器如何批量管理文件的技巧&…