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

随着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.mzph.cn/news/198837.shtml

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

相关文章

解决使用Flipper无法连接到苹果模拟器,却能连接到安卓

而且这些都是显示正常 可是打开Virtual device一看ios一直在加载中 然后我打开日志看了下,然后各种找配置,项目里边配置改了又改,最后发现是缺少了个插件 //1、 检查 idb 和 idb_companion 是否已经安装 brew tap facebook/fb brew install …

Chart 3 Adreno OpenCL 应用程序开发

文章目录 前言4.1 Android上进行OpenCL应用程序开发4.2 Adreno OpenCL SDK 和 Adreno OpenCL 机器学习 SDK4.3 调试工具和技巧 前言 本章主要介绍如何 debug Adreno OpenCL应用程序 4.1 Android上进行OpenCL应用程序开发 Adreno GPU 主要在 Android 操作系统和部分 Linux 系统…

二叉树刷题Leetcode

文章目录 104.二叉树的最大深度100.相同的树965.单值二叉树 104.二叉树的最大深度 int maxDepth(struct TreeNode* root) {if(rootNULL)return 0; int left1maxDepth(root->left); int right1maxDepth(root->right); return left>right?left:right; }处理二叉树最大深…

感觉到自己思想扭曲了

突然觉得自己思想有点扭曲。 ​起因是近期备婚,需要给男方家人买衣服。问男朋友妹妹衣服预算多少,说是500内,然后想想自己这个新娘子,那一身衣服绞尽脑汁凑满减不到300。再联想到装饰新房,新房买家具,为了省…

TikTok与社会责任:平台如何推动正能量?

近年来,TikTok作为一款备受欢迎的社交媒体平台,不仅令人们畅享创意短视频,更在推动社会正能量方面发挥了积极作用。 本文将深入探讨TikTok在社会责任方面的表现,探究其是如何通过不同的举措推动正向影响,引领社会向更…

【C++】atomic原子操作

std::atomic 文章目录 std::atomic构造函数is_lock_free函数std::atomic_flagatomic_flag实现原子锁atomic_flag实现自旋锁 store函数内存模型load函数exchange函数示例 C中原子变量(atomic)是一种多线程编程中常用的同步机制,它能够确保对共…

js实现在线预览(PC)图片、pdf、excel、docx

js实现图片预览 参考:添加链接描述 图片预览 本来用的是element-plus自带的组件el-image,但是去不掉缩略图,所以换成了el-imag-viewer组件(图片可拖拽),由于用的vite没有require方法,需要自己处理一下图片才能显示。 参考1:巧用element-ui自带隐藏的图片查看器el-imag…

Java分布式全局唯一Id:id生成要求、为什么不用UUID、生成分布式雪花Id

文章目录 为什么需要分布式全局唯一IdId生成规则部分硬性要求Id生成系统的可用性要求为什么不用UUID生成分布式雪花IdPOM代码示例API生成18位雪花Id生成13位雪花Id 为什么需要分布式全局唯一Id 在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。 如在美团点评的金…

23史上最全版---SQL注入详解

漏洞原因 一些概念: SQL:用于数据库中的标准数据查询语言。 web分为前端和后端,前端负责进行展示,后端负责处理来自前端的请求并提供前端展示的资源。 而数据库就是存储资源的地方。 而服务器获取数据的方法就是使用SQL语句进…

【开源】基于Vue+SpringBoot的数据可视化的智慧河南大屏

项目编号: S 059 ,文末获取源码。 \color{red}{项目编号:S059,文末获取源码。} 项目编号:S059,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 数据模块 …

Linux: Ftrace: function_graph 里面有irq处理的函数

Linux: ftrace: echo function_graph &#xff1e; current_tracer 在做这个函数调用图的时候&#xff0c;会发现这个函数调用非常的大&#xff0c;有些是irq的处理函数&#xff0c;也放在其中&#xff0c;前后有标记&#xff1a; Line 18702: 1) < | Line 22335: 1) …

AntV和AntD之间的区别与联系

前言&#xff1a;最近在调研前端的一些框架&#xff0c;技术栈主要是用react&#xff0c;所以找到了2个十分相似解决方案&#xff0c;拿来对比一下&#xff08;antd和antv都是基于react&#xff09; antd对比antv antd antv 解决方案企业级 UI 设计语言数据可视化解决方案提供…

springboot使用Validator参数校验

引用&#xff1a;https://www.cnblogs.com/yang-yz/p/17576507.html Validator校验框架遵循了 jsr-303验证规范(参数校验规范) JSR : java specification requests 为了解决开发人员在校验参数方面&#xff0c;少写代码 依赖&#xff1a; <dependency><groupId>o…

《数字中台建设总体方案》

《数字中台建设总体方案》 制定数字中台战略规划&#xff1a;制定符合企业实际情况的数字中台战略规划&#xff0c;明确建设目标、重点任务和时间表。确定数字中台架构&#xff1a;根据企业业务需求和特点&#xff0c;确定数字中台的架构&#xff0c;包括技术架构、应用架构和数…

20 动态规划解最长回文子序列

问题描述&#xff1a;给定一个字符串s&#xff0c;找到其中最长的回文子序列&#xff0c;并返回该序列的长度&#xff0c;可以假设s的最大长度为1000&#xff1b; 暴力解法&#xff1a;直接两个循环&#xff0c;遍历所有子串&#xff0c;并统计子串的最大长度&#xff1b; pu…

ftp的服务安装配置

安装 yum install -y vsftpd # 是否安装成功 rpm -qa | grep vsftpd # 是否开机启动 systemctl list-unit-files | grep vsftpd # 开机启动 systemctl enable vsftpd.service # ftp端口 netstat -antup | grep ftp # 状态 service vsftpd status service vsftpd start service…

java项目日常运维需要的文档资料

一、前言 java项目开发完成&#xff0c;部署上线&#xff0c;进入项目运维阶段&#xff0c;日常工作需要准备哪些资料和文档?当项目上线后&#xff0c;运行一段时间&#xff0c;或多或少会遇到一些运维上的问题&#xff0c;比如服务器磁盘饱满&#xff0c;服务器CPU&#xff0…

如何理解微服务体系结构中的 CQRS

本文翻译自 How To Understand CQRS In Microservices Architecture&#xff0c;原作者 OLEKSII。 问题描述 在典型的软件应用程序中&#xff0c;有一个负责写入和读取操作的数据存储。通常&#xff0c;应用程序实现一些 CRUD 操作&#xff0c;并且非常简单。你存储了一些东西并…

一文读懂中间件

前言&#xff1a;在程序猿的日常工作中&#xff0c; 经常会提到中间件&#xff0c;然而大家对中间件的理解并不一致&#xff0c;导致了一些不必要的分歧和误解。“中间件”一词被用来描述各种各样的软件产品&#xff0c;在不同文献中有着许多不同的中间件定义&#xff0c;包括操…

JS:绘制日历,结合vue3食用

思路解析&#xff1a;假设展示2023年12月的日历 ①通过new Date(new Date(2023,12).setDate(0)).getDate()获取2023.12月的天数lastDay ②通过new Date(2023,11,1).getDay()获取2023.12月第一天的起始位置startDay ③根据自己的需求在startDay和lastDay的前后补0&#xff0c…