unity 更换standard shader
最近在优化内存的时候,发现了一个内存占用非常高的shader
太坑了、、、发布出来的web包 包体非常小,资源也非常少,却在进入场景的一瞬间内存暴涨到1个多G
通过Profiler观察,shaderlab占用273M,非常高(小项目,一共就用了几个shader)
看工程内使用最多的shader是standard
做了一个测试,把standard换掉
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;public class ExchangeMaterials : MonoBehaviour
{[MenuItem("Tools/ExchangeMaterial")]static void ExchangeMaterials(){var allMaterials = AssetDatabase.FindAssets("t: Material");foreach (var guid in allMaterials){var path = AssetDatabase.GUIDToAssetPath(guid);Material m = AssetDatabase.LoadAssetAtPath(path, typeof(Material)) as Material;if (m != null){if (m.shader.name == "Standard"){m.shader = Shader.Find("AAA");}}}}
}
找出项目中所有的standard更换为测试shader,此时发现有些shader不能被取出来更换
又一阵挠头之后发现是FBX导入的设置相关
这样设置参数,会生成一个模型自带的material,就可以更换shader啦
重新打包,发现出包速度快了好多倍,心里预感这次一定是找到了方向,O(∩_∩)O哈哈~
运行之后内存减少了600M+,内存终于降下来了,也有点心有余悸,没想到一个没观察到的小小细节内存占用这么高!!!此时再看Profiler,shaderlab占用只有1.1M了、、、
unity 更换standard shader相关推荐
- (十九)unity shader之——————基于物理的渲染技术(PBS):中篇(Unity 5中的Standard Shader的实现和使用)
一.unity 5中的standard shader 在unity5中新创建一个模型或是新创建一个材质时,默认使用的着色器都是一个名为standard 的着色器.这个standard shader使用 ...
- unity, standard shader消耗两个draw call
假设场景中只放一个球,关掉阴影和skybox,球体使用Unlit/Texture shader,则draw call数为2(背景占一个draw call,球占一个draw call). 相同情况下若将 ...
- unity, access standard shared emission by script
unity 5.1.1f1 personal 用下面方法在脚本中设置standard shader的emssion: gameObject.GetComponent<MeshRenderer&g ...
- Unity5 新功能解析--物理渲染与standard shader
Unity5 新功能解析--物理渲染与standard shader http://blog.csdn.net/leonwei/article/details/48395061 物理渲染是UNITY5 ...
- Smoothness 平滑度 Standard Shader系列9
Smoothness 平滑度 本文档主要是对Unity官方手册的个人理解与总结(其实以翻译记录为主:>) 仅作为个人学习使用,不得作为商业用途,欢迎转载,并请注明出处. 文章中涉及到的操作都是基 ...
- 【Unity3D Shader编程】之九 深入理解Unity5中的Standard Shader (一)屏幕水幕特效的实现
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/49556461 作者:毛星云(浅 ...
- Unity学习之Shader
Shader 是用来实现图像渲染的,用来替代固定渲染管线的可编辑程序.其中Vertex Shader(顶点着色器)主要负责顶点的几何关系等的运算,Pixel Shader(像素着色器)主要负责片元颜色 ...
- 【Unity3D Shader编程】之十一 深入理解Unity5中的Standard Shader(三)屏幕像素化特效的实现
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/50095705 作者:毛星云 ...
- Albedo Color and Transparency 反照率颜色与透明度 Standard Shader系列6
Albedo Color and Transparency 反照率颜色与透明度 本文档主要是对Unity官方手册的个人理解与总结(其实以翻译记录为主:>) 仅作为个人学习使用,不得作为商业用途, ...
- Normal map (Bump mapping) 法线贴图(凹凸映射) Standard Shader系列10
Normal map (Bump mapping) 法线贴图(凹凸映射) 本文档主要是对Unity官方手册的个人理解与总结(其实以翻译记录为主:>) 仅作为个人学习使用,不得作为商业用途,欢迎转 ...
最新文章
- 分析PoS的存币挖矿和币价格——如何设计PoS挖矿才有利于吸引用户?
- 二维平面内无人机的路径规划——势场法-改进
- 第15课:基于 CRF 的中文命名实体识别模型实现
- Class的getName、getSimpleName与getCanonicalName的区别
- InstallShield LaunchAppAndWait运行另一个程序并等待该程序终止。
- bl小说里面有个机器人管家_5G无人扫地机器人+进口吸扫一体机 杭州环卫工装备升级了...
- 苹果2021年WWDC大会可能继续采用线上方式举办
- rtl8812au linux驱动下载,Ubuntu 16.04 安装 rtl8812au系列 (DWA-182) wireless adapter driver
- Windows 7 的一些使用技巧
- 「中间件」RocketMQ解决消息顺序和重复性消费问题整理(附测试代码)
- BP神经网络预测matlab代码讲解与实现步骤
- TransE, TransR
- 激励函数的意义和常用几个激励函数
- 使用 Visual Studio 发布 .NET 控制台应用程序
- 【DL】第3章 使用词嵌入计算文本相似度
- 配置Skype for business 2015混合部署
- python玫瑰花数量的含义_玫瑰花数量代表的含义
- 企业局域网即时通讯软件存在是必然趋势
- 团队作业——Alpha冲刺 8/12
- SpringBoot+Mybatis-Plus+Shiro整合的RBAC权限系统