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,一经查实,立即删除!

相关文章

计算机网络系统结构-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…

Zynq 电源

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

便捷好用的iOS文件管理App

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

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

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

代码随想录 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…

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

题目 给定一个长度为 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 指数,经典算法实战。

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

【java八股文】之Java基础篇

1、Java有哪几种数据类型 基本数据类型:byte(1字节) short(2字节) int(4字节) long(8字节) float(4字节) double(8字节) char(2字节&a…

写点东西《Docker入门(下)》

写点东西《Docker入门(下)》 Docker ComposeDocker 注册表Docker 引擎Linux 容器和 Windows 容器的概念:容器编排Docker SwarmDocker Compose Docker Compose 是一个方便的工具,可帮助您轻松运行和连接不同的软件服务,就好像它们都是同一事件的一部分一样。 Docker Compo…

[电影] - 恶人传(韩)

英文片名:The Gangster The Cop The Devil 黑帮老大开了地下游戏厅,贿赂了警察队长。警察主角是刑警二组组长,还是去游戏厅搜查。 警察主角抓了个比较搞笑的黄毛: 警察队长,有个专门电话和黑帮联络的: 两个…

【Python】编程练习的解密与实战(三)

​🌈个人主页:Sarapines Programmer🔥 系列专栏:《Python | 编程解码》⏰诗赋清音:云生高巅梦远游, 星光点缀碧海愁。 山川深邃情难晤, 剑气凌云志自修。 目录 🪐1. 初识Python &a…

Tensorflow和飞桨Paddle的控制流算子设计

一、概览 注:整体方案上尚存在技术疑点,需进一步小组内讨论对齐,避免方案设计上存在后期难以扩展(或解决)的局限性 框架TensorFlow 1.xTensorFlow 2.xPaddlecond/while√√√实现机制组合OP (DataFlow)函数式 (Functio…

Alphalens因子分析(4) - Information Coefficient方法

在前面的笔记中,无论是回报分析,还是因子Alpha,它们都受到交易成本的影响。信息分析 (Information Analysis)则是一种不受这种影响的评估方法,主要研究方法就是信息系数(Information Coefficient)。 信息系数的范围为-1到1&#x…

linux 02 vmware的快照,文件管理

01.快照 使用快照: 同时的快照管理器: 如果想要返回快照,选择要选择的快照,跳转 02. 文件管理: cd 修改当前路径 02.touch 创建文件 03. mkdir 创建文件夹 mkdir -p 文件夹 (创建之前没有的上级文件…

leetcode面试经典150题——50 快乐数

题目:快乐数 描述: 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变…