unity的一些优化

1.Shader

调试发现ShaderLab占用内存过高,有好几百兆,一般来说二十到五十兆就算顶天了。批量查询了Shader的变体数量,发现有个Shader有1W多个变体。发现原来是从网上找的Shader,能用就行。所以多了许多的冗余关键字。一般来说Shader中每多一个关键字, 变体数量就会翻倍,多一个翻一倍,指数级增长。

解决这个问题后能有效降低ShaderLab的占用内存。

另外一部分就是实际打包中的Shader变体数量,与Editor下预览的数量不一致,打包的数量多于Editor下,发现了很多隐藏的关键字,但是这些关键字没有显式的引用。

比如A shader使用关键字_A,B shader使用关键字_B,材质球C先使用了A shader就会把_A关键字记录在材质球上,之后切换成B shader那么这个材质球C会包含_A,_B两个关键字。

2.String

项目开头使用了许多“我”+“在”+“写博客”之类的字符串拼接,导致了GC和CPU的峰值。改了之后也好了一些。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值