Start窗口 渲染数据统计的窗口
CPU:进行计算时间绝对值或时间点 计算每一帧耗费的时间
Rebnder thread:CPU渲染所花费的时间,由GPU性能决定
FPS 每秒的帧数 帧数越大 看的越流畅 超过30帧就不卡
Batches Unity 对某些DrawCall进行合并 合并成一次 Unity自带的一种优化
Verts 定点个数
Tris 三角面的个数
声音的压缩格式:
背景音乐推荐MP3 短音乐推荐Mab
Decompress On Load:默认选项适用于小文件 在硬盘上压缩
Compressed In Memory:适用于大文件 保存声音在内存中是压缩的
Streaming:对于手游而言不考虑 对手游会产生大量的内存
贴图小于2048 手游小于1024
贴图优化:将贴图合并成一个 不用的不放在Resoure
确保相同的放在相同目录下
UWA 百度搜索下载 在线监测(第三方资源监测)安装包资源监测
CPU与GPU的区分
CPU:数值的运算
GPU:场景渲染
LOD层级细节
离模型近显示精细的模型 离模型远显示不精细的模型
在模型位置添加LOD Group组件
遮挡剔除:只渲染视野内的内容
选中遮挡剔除物体
光照贴图
Mesh合并 将许多物体合并成一个
void MeshCombine()
{
MeshFilter[] filter = GetComponentsInChildren();
//CombineInstance 专门处理合并的
CombineInstance[] combiners = new CombineInstance[filter.Length];
for (int i = 0; i < filter.Length; i++)
{
combiners[i].mesh = filter[i].sharedMesh;
//transform在这里是一个矩阵 进行坐标转换 combiners根据Mesh确定在世界中的一个坐标
combiners[i].transform = filter[i].transform.localToWorldMatrix;
}
Mesh finaMesh = new Mesh();
finaMesh.CombineMeshes(combiners);
GetComponent().sharedMesh = finaMesh;
}
在空物体上添加:
//Mesh Fiter 存放合并后的东西
//Mesh Rendere 渲染
CPU优化 代码优化
计算对象受那些灯光渲染 那些Shader 发送给显卡 进行渲染
1.可以将物体进行合并
2.使用更少的贴图 一个材质对应一个Shader 一个Shader进行一次渲染
3.少使用一对渲染要求高的技术 如:阴影 光照的分辨率 折射
Mesh 合并一整个Mesh使用一个材质就好 合并完Mesh 在合并材质 或使用相同的材质的物体进行合并
对象池优化
编译性能优化 提高编译速度 将不需要变更的代码(如一些不需要变更的框架) 放在特定文件夹 如:Plugins或者Standard Assets、Pro Standard Assets文件夹中 缺点就是 不能引用外部的文件夹