unity shader内存占用优化

Unity shader文件内存占用高的主要原因是multi_compile变种过多。为优化,可从多方面入手:调整Graphics设置以限制烘焙和雾效方案;利用shader_feature避免未使用的变种编译;使用skip_variants指令排除特定变种;通过#define宏定义精简multi_compile_fog等指令的多个选项。确保变种数量合理,并关注不同Unity版本对ShaderVariantCollection的支持。
摘要由CSDN通过智能技术生成

shader文件 内存占用多的原因

最大的原因就是multi_compile变种太多。变种越多文件越大。

查看变种数量

查看shader变种数量
standard shader 变种特别多,一般都不用,都自定义shader.建议一般变种数不要超过100

减少变种数量方法

减少变种数量可以多角度去处理。

一、graphic设置

在这里插入图片描述
限制 工程的里的烘焙方案,雾方案等。

二、shader_feature使用

例子: #pragma shader_feature _NORMALMAP
shader_feature指令的变种再没有使用的时候 ,不会编译到最终文件里,那样可以减少最终变种数量。
注意:这个功能的使用如果是5.4.4p4, 5.5.1p4, and 5.6.0b8版本或者之前的要打到assetbundle里需要 材质和shader在同一个assetbundle里。之后的版本可以用ShaderVariantCollection处理,不过shadert variant文件也要在同一个assetbundle里。(所谓的同一个assetbundle里,就是他们用的同一个包名AssetImporter.assetBundle

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值