unity, 内存profile,ImageEffects Temp和Unity GI SystemTex RGBM
最近用unity的Profiler对公司项目进行内存profile,发现一些问题,记录一下。
用Memory Area的Detailed View,用法见:http://docs.unity3d.com/Manual/ProfilerMemory.html
一,
可以看到Not Saved->RenderTexture下有两个ImageEffects Temp。想不出它们是因何而来。
注:在profile过程中直接点Take Sample才容易看到ImageEffects Temp,如果先点曲线区域使项目暂停运行了再Take Sample,有时候会看不到ImageEffects Temp。

于是开始用屏蔽法排查,发现当场景中某个节点关掉之后ImageEffects Temp就不再出现了,再检查此节点,发现上面挂了个脚本。对脚本中的函数逐个进行屏蔽,发现当其中一个函数屏蔽之后ImageEffects Temp就不再出现了。这个函数是一个空函数:
void OnRenderImage(RenderTexture src,RenderTexture dest){}
一般这个函数里都会调用个Graphics.Blit(src, dest, mat)之类的,但是可能写程序的人临时改了思路把其中的语句删了,但是没删函数,这样不仅导致这个回调每帧都被调用,而且还为了参数创建了renderTexture!!!
不知道开启某些优化选项后这个会不会被优化掉,但出于稳妥考虑,这种空函数还是清理干净为好。
二,
在Not Saved->Texxture2D下面有
Unity GI SystemTex RGBM
Unity GI SystemTex RGBM
Unity GI SystemTex Directionality

这几个项目,看起来跟GI有关,想看看究竟是怎么来的,是不是必须的。
在Windows->Lighting下面把Precomputed Realtime GI和Baked GI都关了,然后再profile还是有这三项。
后来新建了个工程做实验,发现在不烘焙lightmap之前profile,是没有这三项的,但一旦烘焙了lightmap再profile,这三项就出来了,虽然查看这三项中的图像与lightmap中的图像并不相同,但是似乎只要lightmap存在它们就存在。目前只知道这些。
unity, 内存profile,ImageEffects Temp和Unity GI SystemTex RGBM的更多相关文章
- Unity内存理解(转)
Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大. Resources.Load就是从一个缺省打进程序包里的AssetBu ...
- unity内存管理(转)
转自:https://www.cnblogs.com/zsb517/p/5724908.html Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBun ...
- Unity内存优化
[Unity内存优化] 1.在Update方法或循环中,少用string类,因为string类的每次操作都会调用new生成新字符串对象.用StringBuilder代替string,StringBui ...
- Unity优化之GC——合理优化Unity的GC
转载请标明出处http://www.cnblogs.com/zblade/ 最近有点繁忙,白天干活晚上抽空写点翻译,还要运动,所以翻译工作进行的有点缓慢 =.= PS: 最近重新回来更新了一遍,文 ...
- Unity编程标准导引-3.4 Unity中的对象池
本文为博主原创文章,欢迎转载.请保留博主链接http://blog.csdn.net/andrewfan Unity编程标准导引-3.4 Unity中的对象池 本节通过一个简单的射击子弹的示例来介绍T ...
- 对《[Unity官方实例教程 秘密行动] Unity官方教程《秘密行动》(十二) 角色移动》的一些笔记和个人补充,解决角色在地形上移动时穿透问题。
这里素材全是网上找的. 教程看这里: [Unity官方实例教程 秘密行动] Unity官方教程<秘密行动>(九) 角色初始设定 一.模型设置: 1.首先设置模型的动作无限循环. 不设置的话 ...
- Unity 3(二):Unity在AOP方面的应用
本文关注以下方面(环境为VS2012..Net Framework 4.5以及Unity 3): AOP简介: Interception using Unity示例 配置文件示例 一.AOP简介 AO ...
- 使用Unity解耦你的系统—PART4——Unity&PIAB
在前面几篇有关Unity学习的文章中,我对Unity的一些常用功能进行介绍,包括:Unity的基本知识.管理对象之间的关系.生命周期.依赖注入等,今天则是要介绍Unity的另外一个重要功能——拦截(I ...
- Unity for Windows: III–Publishing your unity game to Windows Phone Store
原地址:http://digitalerr0r.wordpress.com/2013/08/27/unity-for-windows-iiipublishing-to-windows-phone-st ...
随机推荐
- 洛谷——P1226 取余运算||快速幂
P1226 取余运算||快速幂 题目描述 输入b,p,k的值,求b^p mod k的值.其中b,p,k*k为长整型数. 输入输出格式 输入格式: 三个整数b,p,k. 输出格式: 输出“b^p mod ...
- Codeforces Round #209 (Div. 2) D. Pair of Numbers (模拟)
D. Pair of Numbers time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- 【整体二分+莫比乌斯函数+容斥原理】BZOJ2440
[题目大意] 求第k个不是完全平方数或完全平方数整数倍的数. [思路] 由于μ(i)*(n/i^2)=n,可以直接从1开始,得出非完全平方数/完全平方数倍数的数的个数 注意一下二分的写法,这里用的是我 ...
- Exercise01_07
public class Outcome{ public static void main(String[] args){ double x, y; x=4*(1.0-1.0/3+1.0/5-1.0/ ...
- SQL函数学习(十六):STUFF()函数
16.STUFF()函数 STUFF()函数用于删除指定长度的字符,并可以在制定的起点处插入另一组字符. 16.1 STUFF()函数语法 select stuff(列名,开始位置,长度,替代字符串) ...
- python 实现汉诺塔问题
代码如下: def hano(n,x,y,z): if n==1: print(x,"->",z) else: #将n-1个盘子从x->y hano(n-1,x,z,y ...
- 让XCode的Stack Trace信息可读
程序报错信息如下:
- Telnet窗口尺寸选项
转:http://www.cnpaf.net/Class/Telnet/200408/6.html 1.命令名称和选项代码 名称=NAWS(NegotiateAboutWindowSize)协商窗口的 ...
- nodeJs建立简单的服务器
var http = require('http');//http依赖 var hostname = '127.0.0.1';//本地 var port = 3000;//端口 var server ...
- C#之Raw Socket网络封包监视源码
大家可以建立一个Windows Form应用程序,在下面的各个文件中添加对应的源码: //RawSocket.csnamespace ReceiveAll{ using System; using S ...