游戏优化(一)
2015-06-19 16:28
363 查看
Unity Profiler 认识
Profiler (分析器)仅Pro unity 使用。它主要是帮助优化你的游戏,告诉你的游戏的各个领域所花费的时间和系统消耗的资源。Profiler 窗口包括7个模块:
CPU Usage(CPU使用率区域)
GPU Usage( GPU使用率区域)
Renderind(渲染区域)
Memory(内存区域)
Audio(音频区域)
Physics(物理区域)
Physics(2D)(物理2D区域)
我们来一个一个去了解这些模块区域里面的内容
1. CPU Usage(CPU使用率区域):显示你的游戏在哪里花费时间,其中包括(Scripts 【脚本】 Rendering【渲染】 Physics【物理】 GarbageCollector【垃圾回收】VSync【垂直同步】Others【其他】->[Animation(动画)、AI(人工 智能)、Audio(音频)、Particles(粒子)、Networking(网络)、Loading(加载)和PlayerLoop(播放器循环)。 ])
解释一下VSync【垂直同步】:渲染可以与显示设备的刷新率同步,以避免”撕裂”的现象。
VSync【垂直同步】有三个枚举 一是不同步,二是垂直空白 ,三同步帧切换,第三种会减低FPS(每秒帧的平率)。
当在下部窗格中选择一个项目,对应到CPU的使用率(CPU Usage)图表上会高亮显示(和其余部分为灰色)。这样就可以查看具体哪些资源使用的比较多。
2. GPU Usage( GPU使用率区域):GPU分析器类似于CPU分析器,关于渲染时间的不同贡献。
3. Renderind(渲染区域):Main Thread (主线程) 使用花费的时间,我个人把他认为处理游戏逻辑使用的时间,Renderer (渲染)
花费的时间ms.Draw Call(描绘调用)批处理后网格绘制的总数。
Unity每次在准备数据并通知GPU渲染的过程称为一次Draw Call,
Draw Call的次数是决定性能比较重要的指标,这个值可以在Game视图窗口中的Statistic面板中查看。Tris和Verts(三角形和定点)
绘制三角形和顶点的数目。为低端硬件的优化时,这是很重要的。
Used Textures(使用的纹理)绘制该帧使用的纹理数和它们使用的内存。Render Textures(纹理渲染)渲染纹理的数量和它们使用的内存。每帧切换激活纹理(Switched)的次数也显示。Screen (屏幕)屏幕的大小,连同其抗锯齿级别和内存的使用率。VRAM usage (显存使用)当前显存(VRAM)的使用情况的大约范围,同时显示你的显卡有多少显存。
4. Memory(内存区域)内存状态显示了一些最常见的资源/对象类型,包括计数和所使用的内存(主要的和视频内存)
•Textures 纹理
•Meshes 网格
•Materials 材质
•Animations 动画
•Audio 音频
•Object Count (对象计数)是创建的对象的总数.
5. Audio(音频区域):音频就没什么可说的了,主要看CPU的使用情况,注意:当Ogg Vorbis格式的音频在Memory(内存)选项中以Compressed(压缩)的形式被导入时,由分析器报告的内存使用情况可能会出乎意料的低。这发生在使用FMOD音频的平台 - FMOD不支持内存选项中的Ogg Vorbis格式,所以导入设置会自动改为Stream From Disk(来自磁盘的流)(其内存开销要低得多)。
6. Physics(物理区域):Active Rigidbodies是指当前活动的刚体数(也就是说,他们正移动或仅刚刚静止)。Sleeping Rigidbodies是指哪些静止的刚体数,因此,不需要物理引擎主动更新(详情参见Rigidbody Sleeping)。 Number of Contacts(接触点数)是指场景中的所有接触点的总数。Static Colliders(静态碰撞器)是指附加到非刚体物体的碰撞器数量(也就是说,物体从来不会在物理作用下移动)。Dynamic Colliders(动态碰撞器)是指附加到刚体物体的碰撞器数量(也就是说,物体可以在物理的作用下移动)。
7. Physics(2D)(物理2D区域)。等我用到的时候会补充。
细节,当你要连续的查看游戏资源的占有率的时候可以点击视图,使用左右键来滑动查看数据的变化。点击ProfileEditor 是不会暂停的。
相关文章推荐
- javascript使用bind()函数绑定this
- JDK,JRE,JVM区别与联系
- ReadingWriting files with MSSQL's OPENROWSET
- 暗黑3 怪物整理
- 《梦断代码》阅读笔记1
- 解读Unity中的CG编写Shader系列二
- Android:控件样式触发
- c malloc分配内存
- 可扩展Web架构与分布式系统
- UnityShader实例04:遮挡透明材质
- Bootstrap系列 -- 6. 列表
- 解读Unity中的CG编写Shader系列一
- C语言指针的那些事(二)
- Android http实践 2015/06/19
- 搜索引擎的设计与实现(一)从零开始?
- 广州集泰化工档案管理的定制化
- VS2010下孙鑫《VC++深入详解》第15章网络聊天室程序的实现
- python+Eclipse+pydev环境搭建
- 马踏棋盘问题解决-利用深度搜索和贪婪算法优化
- 【算法】直方图中最大面积问题