最近在优化内存的时候,发现了一个内存占用非常高的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相关推荐

  1. (十九)unity shader之——————基于物理的渲染技术(PBS):中篇(Unity 5中的Standard Shader的实现和使用)

    一.unity 5中的standard shader 在unity5中新创建一个模型或是新创建一个材质时,默认使用的着色器都是一个名为standard 的着色器.这个standard shader使用 ...

  2. unity, standard shader消耗两个draw call

    假设场景中只放一个球,关掉阴影和skybox,球体使用Unlit/Texture shader,则draw call数为2(背景占一个draw call,球占一个draw call). 相同情况下若将 ...

  3. unity, access standard shared emission by script

    unity 5.1.1f1 personal 用下面方法在脚本中设置standard shader的emssion: gameObject.GetComponent<MeshRenderer&g ...

  4. Unity5 新功能解析--物理渲染与standard shader

    Unity5 新功能解析--物理渲染与standard shader http://blog.csdn.net/leonwei/article/details/48395061 物理渲染是UNITY5 ...

  5. Smoothness 平滑度 Standard Shader系列9

    Smoothness 平滑度 本文档主要是对Unity官方手册的个人理解与总结(其实以翻译记录为主:>) 仅作为个人学习使用,不得作为商业用途,欢迎转载,并请注明出处. 文章中涉及到的操作都是基 ...

  6. 【Unity3D Shader编程】之九 深入理解Unity5中的Standard Shader (一)屏幕水幕特效的实现

    本系列文章由@浅墨_毛星云 出品,转载请注明出处.   文章链接: http://blog.csdn.net/poem_qianmo/article/details/49556461 作者:毛星云(浅 ...

  7. Unity学习之Shader

    Shader 是用来实现图像渲染的,用来替代固定渲染管线的可编辑程序.其中Vertex Shader(顶点着色器)主要负责顶点的几何关系等的运算,Pixel Shader(像素着色器)主要负责片元颜色 ...

  8. 【Unity3D Shader编程】之十一 深入理解Unity5中的Standard Shader(三)屏幕像素化特效的实现

    本系列文章由@浅墨_毛星云 出品,转载请注明出处.    文章链接:  http://blog.csdn.net/poem_qianmo/article/details/50095705 作者:毛星云 ...

  9. Albedo Color and Transparency 反照率颜色与透明度 Standard Shader系列6

    Albedo Color and Transparency 反照率颜色与透明度 本文档主要是对Unity官方手册的个人理解与总结(其实以翻译记录为主:>) 仅作为个人学习使用,不得作为商业用途, ...

  10. Normal map (Bump mapping) 法线贴图(凹凸映射) Standard Shader系列10

    Normal map (Bump mapping) 法线贴图(凹凸映射) 本文档主要是对Unity官方手册的个人理解与总结(其实以翻译记录为主:>) 仅作为个人学习使用,不得作为商业用途,欢迎转 ...

最新文章

  1. 分析PoS的存币挖矿和币价格——如何设计PoS挖矿才有利于吸引用户?
  2. 二维平面内无人机的路径规划——势场法-改进
  3. 第15课:基于 CRF 的中文命名实体识别模型实现
  4. Class的getName、getSimpleName与getCanonicalName的区别
  5. InstallShield LaunchAppAndWait运行另一个程序并等待该程序终止。
  6. bl小说里面有个机器人管家_5G无人扫地机器人+进口吸扫一体机 杭州环卫工装备升级了...
  7. 苹果2021年WWDC大会可能继续采用线上方式举办
  8. rtl8812au linux驱动下载,Ubuntu 16.04 安装 rtl8812au系列 (DWA-182) wireless adapter driver
  9. Windows 7 的一些使用技巧
  10. 「中间件」RocketMQ解决消息顺序和重复性消费问题整理(附测试代码)
  11. BP神经网络预测matlab代码讲解与实现步骤
  12. TransE, TransR
  13. 激励函数的意义和常用几个激励函数
  14. 使用 Visual Studio 发布 .NET 控制台应用程序
  15. 【DL】第3章 使用词嵌入计算文本相似度
  16. 配置Skype for business 2015混合部署
  17. python玫瑰花数量的含义_玫瑰花数量代表的含义
  18. 企业局域网即时通讯软件存在是必然趋势
  19. 团队作业——Alpha冲刺 8/12
  20. SpringBoot+Mybatis-Plus+Shiro整合的RBAC权限系统

热门文章

  1. 朴实无华,25个常用Matplotlib图的Python模板代码
  2. 这次是100秒 蓝箭航天80吨液氧甲烷发动机100%推力试车
  3. android外设按键,Android 外接键盘的按键处理
  4. 积分商城使用教程之优惠券
  5. day03 爬取京东信息,bs4
  6. 氚云无代码搭建学习记录
  7. python中remove函数是什么意思_python中remove函数的用法是什么?
  8. 算加权成绩(MATLAB)
  9. ubuntu14.04拒绝winscp的连接请求问题的解决笔记
  10. 【014】求字体-上传图片自动识别字体