Unity-ShaderVariantCollection
Unity-ShaderVariantCollection
ShaderVariantCollection 它本质就是个变种收集集合,单个 Shader 对象的创建,不会有加载速度和内存的区别, 只不过底层提供了一些函数。可以预先做warmup操作,SVC并没有做什么额外的事情,这个需要自己来控制,那其实加载创建 shader 对象基本是内存和性能并没有区别。好处就在于你可控的提前将平台相关的shader对象创建完。然后在android es3.0的情况下。shader创建这个过程是可以保存二进制到本地磁盘的,下一次就不用再创建了。
如果一个创建出来的 shader 对象,没有任何地方在使用了,只在AB被卸载时才会被释放,shader的生命周期跟随其所属的ab,通常来说是在场景卸载的时候发生。