1.UnityProfiler性能分析提升性能

一 Stats重要参数详解

1.main thread 主线程 业务逻辑都在这里,我们调用Unity API都在这里;例如设置transform位置,main thread里面处理

2.render thread,渲染线程,负责渲染图像、执行渲染循环、处理GPU命令、帧同步。

3. 这个则表示当前负载最多可以绘制多少次(当前帧数)

4.Batches :批次,绘制场景,我们分几个批次提交给我们的GPU来绘制,100个物体要绘制,那么分几次提交给GPU。

5.Saved by batching:所有场景中,有多少物体是被合批渲染的。

6.Tris:三角形数目(面数)

7.Vert:顶点数

8.SetPass calls:表示在渲染过程中调用了多少次 SetPass 方法。这个统计项告诉你在一帧中有多少次渲染过程中切换了着色器的使用。所以要尽可能的让同一个shader的物体在一起渲染

9.Shadow casters:阴影开销

10.Visible skinned meshes playing :一些带有蒙皮动画的网格(通常是角色模型)当前正在被渲染并播放动画

11.Animation :有多少个动画实例,每一帧计算模型的顶点所在的位置,再回动画,采样

二、Profiler 

  1. 启动 Profiler: 在 Unity 编辑器中,点击顶部工具栏上的 "Window" -> "Analysis" -> "Profiler" 打开 Profiler 窗口。在游戏运行时,点击 "Connect to Player" 按钮,可以在运行中的游戏中收集性能数据。

  2. Identify Bottlenecks: 使用 Profiler 分析工具来识别应用程序中的性能瓶颈。查看 CPU、内存、GPU 等方面的统计信息,找到消耗性能的函数、渲染操作或内存使用。

  3. CPU Profiling: 在 Profiler 的 CPU 部分,查看耗时最长的函数。优化这些函数可能对整体性能产生显著影响。关注高占用的函数,查看是否有不必要的计算或者是否可以优化算法。

  4. Memory Profiling: 使用 Profiler 的内存工具来检查内存使用情况。查找内存泄漏、高内存占用的对象,以及检查是否有不必要的资源加载或创建。

  5. GPU Profiling: 如果你的应用中有大量图形渲染,查看 GPU Profiler 的数据。优化着色器、减少 draw call 或者使用 GPU Instancing 等方式来降低 GPU 的负载。

  6. 减少 Draw Calls: 减少渲染时的 Draw Calls 数量,使用批处理技术(如合并网格、合并材质、使用 GPU Instancing 等)来优化渲染性能。

  7. 异步加载资源: 使用异步加载资源的方法,避免在主线程上阻塞加载操作,从而提高应用的响应性。

  8. 优化物理计算: 如果你的应用使用了物理引擎,注意物理计算可能成为性能瓶颈。考虑使用更简单的碰撞体、减少刚体数量,或者使用更适合场景的物理设置。

  9. 使用合适的 LOD: 对于大型场景,使用 Level of Detail(LOD)技术来控制远处对象的渲染质量,以减轻 GPU 负载。

  10. 使用 Profiler 的优化建议: Profiler 会提供一些优化建议,例如函数调用的百分比、内存占用等信息,注意这些建议并尝试实施它们

  11.  

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

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

相关文章

zabbix和prometheus怎么选?

简单粗暴的回答,不搞弯弯绕! zabbix和prometheus对比 发行时间开发语言性能社区支持容器支持企业使用部署难度Prometheus2016go支持万为单位相对不如zabbix,人数与日俱增。不仅支持swarm原生集群,还支持Kubernetes容器集群,是目前…

MATLAB mat 文件

1.mat文件格式 MATLAB(Matrix Laboratory)使用 .mat 文件格式来存储和加载数据。MAT 文件是一种二进制文件格式,能够保存 MATLAB 中的各种数据类型,包括矩阵、向量、结构体、元胞数组等。 特定和用途: 二进制格式&a…

计算机网络系统结构-2020期末考试解析

【前言】 不知道为什么计算机网络一门课这么多兄弟,这份看着也像我们的学科,所以也做了。 一. 单选题(每题 2 分,共 20 题,合计 40 分) 1 、当数据由主机 A 发送到主机 B ,不参…

机器学习_7、KNN

数据采用:电离层数据 KNN完整的代码电离层数据资源-CSDN文库 代码 import os import csv import numpy as np from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection import …

ChatGPT可以帮你做什么?

学习 利用ChatGPT学习有很多,比如:语言学习、编程学习、论文学习拆解、推荐学习资源等,使用方法大同小异,这里以语言学习为例。 在开始前先给GPT充分的信息:(举例) 【角色】充当一名有丰富经验…

【分布式微服务专题】从单体到分布式(四、SpringCloud整合Sentinel)

目录 前言阅读对象阅读导航前置知识一、什么是服务雪崩1.1 基本介绍1.2 解决方案 二、什么是Sentinel2.1 基本介绍2.2 设计目的2.3 基本概念 三、Sentinel 功能和设计理念3.1 流量控制3.2 熔断降级3.3 系统负载保护 四、Sentinel 是如何工作的 笔记正文一、简单整合Sentinel1.1…

sqlalchemy 事务自动控制(类java aop)

最近使用它交互数据库,想实现类似java aop那种自动事务控制,不用手动commit或者rollback。我是用的是flaskdenpendency-injecter 这是我的db的配置类,里面会初始化一些session配置,里面比较重要的是把autocommit和autoflush关闭了…

Zynq 电源

ZYNQ芯片的电源分PS系统部分和PL逻辑部分,两部分的电源分别是独立工作。PS系统部分的电源和PL逻辑部分的电源都有上电顺序,不正常的上电顺序可能会导致ARM系统和FPGA系统无法正常工作。 PS部分的电源有VCCPINT、VCCPAUX、VCCPLL和PS VCCO。 VCCPINT为PS内…

通过CSS实现渐变色边框

通过CSS实现渐变色边框的几种方法: 1. 使用border-image实现渐变色边框,边框圆角 .box{border-radius: 16px;border: 10px solid;border-image: linear-gradient(#8f41e9, #578aef,#ff5277)30 30;}这种方式虽然简单但有个明显的缺陷,不支持…

便捷好用的iOS文件管理App

便捷好用的iOS文件管理App 摘要 本文介绍了一款功能强大、免费的iOS文件管理App——克魔助手。通过使用克魔助手,用户可以轻松管理手机存储空间,清理垃圾文件,整理文件,并进行文件传输和截图操作。本文将详细介绍克魔助手的各项…

学习使用php、js脚本关闭当前页面窗口的方法

学习使用php、js脚本关闭当前页面窗口的方法 前言方法一:使用JavaScript代码方法二:通过http头文件来实现方法三:使用服务器端脚本来实现 前言 在开发web应用程序时,我们通常需要在不同的网页之间进行导航。通常情况下&#xff0…

使用Sqoop将数据导入Hadoop的详细教程

在大数据处理中,Sqoop是一个强大的工具,它可以将关系型数据库中的数据导入到Hadoop生态系统中,以便进行进一步的分析和处理。本文将提供一个详细的教程,以帮助大家了解如何使用Sqoop将数据导入Hadoop。 准备工作 在开始之前&…

Could not erase files or folders:

IDEA删除 git 的 localChanges 内的文件时,提示Could not erase files or folders:。 确认下这个文件是否被打开,忘记关闭了;关闭后可以被删除。(文件被打开的情况下,用操作系统自带的删除,也无法删除成功…

代码随想录 Leetcode707. 设计链表

题目: 代码(首刷看解析 2024年1月11日): class MyLinkedList { private:struct ListNode{int val;ListNode* next;ListNode(int val):val(val),next(nullptr){}};int size;ListNode* dummyHead; public:MyLinkedList() {dummyHead new List…

[centos]centos6更换源的正确方法

已经2024年了,自从2020年11月30日开始 centos6各大开源镜像站已经停止维护了,所以导致yum的repo源不能正常使用,阿里云的repo库目前还可以使用,可以把repo源切换到阿里云暂时满足使用需求。不过这个也很难说以后不会失效&#xff…

【Pytorch简介】2.What are Tensors 什么是张量?

2.What are Tensors 什么是张量? 文章目录 2.What are Tensors 什么是张量?Initializing a Tensor 初始化张量Directly from data 直接来自数据From a NumPy array 来自 NumPy 数组From another tensor 从另一个张量With random or constant values 使用…

【算法】增减序列(贪心,差分)

题目 给定一个长度为 n 的数列 a1,a2,…,an,每次可以选择一个区间 [l,r],使下标在这个区间内的数都加一或者都减一。 求至少需要多少次操作才能使数列中的所有数都一样,并求出在保证最少次数的前提下,最终得到的数列可能有多少种…

机器人制作开源方案 | 六足灾后探测机器人

作者:毕钟诚 施钥 范江龙 张莉曼 陈金凤 单位:中国石油大学(北京) 指导老师:许亚岚 孙琳 世纪全球自然灾害频发,灾后探测重建工作十分重要,极端恶劣的现场探测环境,频发的余震甚至…

羊驼2:开放的基础和微调聊天模型--Llama 2论文阅读

论文地址:https://arxiv.org/pdf/2307.09288.pdfd 代码地址:GitHub - facebookresearch/llama-recipes: Examples and recipes for Llama 2 model 问答 用了多少个gpu? 这篇文档中使用了3.3M GPU小时的计算,使用的硬件类型是A…

H 指数,经典算法实战。

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…