ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

unity优化篇

2021-06-08 23:04:02  阅读:247  来源: 互联网

标签:DrawCall DC A1 unity 优化 图集 Panel


CPU优化

想到什么就记录点什么

CPU的优化主要就是内存的DrawCall

1.在unity4.0和5.0的时候大部分使用的还是NGUI,可以优化图集来进行优化DrawCall,因为一个Panel就是一个DrawCall,Panel每个面板还必须挂载,而且一些ScrollView之类也有Panel。 在同一个Panel下方使用了几个图集就是几个DrawCall,所以那个时候打图集很讲究,既要考虑通用性,又考虑DrawCall的大小。在后来使用UGUI后极大的改善了对图集使用的优化,可以不那么考虑图集来制作,大大的方便了开发者。

2.还有就是在特效,特效有个设置叫build in layer ,这同一个特效下面要给他设置不同的层级,要不然drawcall会增加

3.透明的image会造成DragCall增加,加个脚本
下面展示一些 内联代码片

using UnityEngine;
using System.Collections;
namespace UnityEngine.UI
{
public class Empty4Raycast : MaskableGraphic
{
protected Empty4Raycast()
{
useLegacyMeshGeneration = false;
}
protected override void OnPopulateMesh(VertexHelper toFill)
{
toFill.Clear();
}
}
}

4.顺序和重叠问题 A ,B , C , A1三个image ABC是分别3个图集,A1和A是一个图集,A1放到A的上面,DC没变化,然后把A1放到B和C的上面,DC增加了1个,这个时候在把A1的层级移动到ABC的下面,DC返回原来的数量

5.旋转 x 和 y旋转的时候DC会增加

内存的优化

1.不要在Update中去设置一些临时变量,因为它会向系统中申请大量的内存
2.连接字符串的时候使用stringbuilder
3.多次使用GetComonent, .name ,tag等之类的方法会产生垃圾
4.yield的时候返回null,不要返回0或者1之类的
5.优化贴图,使用non power
6.关闭贴图的Read & Write功能
7.AssetBuild加载
8.log输出

困了,先睡觉

标签:DrawCall,DC,A1,unity,优化,图集,Panel
来源: https://blog.csdn.net/zhangjiyuan666/article/details/117715886

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有