Unity3D 查找Update函数体为空的类
2016-05-26 11:23
495 查看
如果是大项目,有很多Update空跑还是多少有些效率损耗,那我们就把他们都找出来。
先引用Mono.Cecil
//代码
先引用Mono.Cecil
//代码
using UnityEngine; using UnityEditor; using System.Collections; using System.IO; using System.Collections.Generic; using System.Text; //处理UILabel public class EmptyUpdateCleaner { [MenuItem("Tools/Log Empty Update")] public static void Test() { string log = ""; var module = Mono.Cecil.ModuleDefinition.ReadModule(Application.dataPath+ "/../Temp/UnityVS_bin/Debug/Assembly-CSharp.dll"); foreach (var type in module.Types) { if (null==type.BaseType) { continue; } if (!type.BaseType.Name.Contains("MonoBehaviour")) { continue; } foreach (var method in type.Methods) { if (method.Name.Equals("Update")) { if (method.Body.Instructions.Count <= 2) { log += type.Name + "."+method.Name + "\n"; } } else if (method.Name.Equals("LateUpdate")) { if (method.Body.Instructions.Count <= 2) { log += type.Name + "." + method.Name + "\n"; } } else if (method.Name.Equals("FixedUpdate")) { if (method.Body.Instructions.Count <= 2) { log += type.Name + "." + method.Name + "\n"; } } } } Debug.Log(log); } }
相关文章推荐
- 【Unity3D】Unity3D工具、Mono工具、内部脚本工作原理以及跨平台特性
- Unity3D 渲染统计窗口Stats
- 猫都能学会的Unity3D Shader入门指南
- unity脚本执行顺序
- update,fixedupdate,lateupdate的区别,解决跟随相机抖动
- (转载)[Unity3D]关于Android真机调测Profiler
- Unity热门插件推荐
- [Unity3d]Shader 着色器 学习前了解知识
- Cardboard for Unity VR游戏开发教程
- 【Unity3D】常用API学习笔记
- 【Unity3D】基础知识学习笔记
- Unity3D 之防止刚体碰撞导致旋转
- spine-unity3D 学习笔记
- Unity不同平台路径问题
- unity资源优化插件
- [转]unity3d使用winphone平台的问题
- Unity固定管线shader总结
- Unity3D
- Unity3D研究院之获取某个方法执行的时间
- 【游戏开发】[用代码创建unity5.X的动画状态机]