Unity Debug.Log 性能分析 您所在的位置:网站首页 unity去除log方法输出 Unity Debug.Log 性能分析

Unity Debug.Log 性能分析

2024-02-15 00:04| 来源: 网络整理| 查看: 265

介绍

Debug.Log , 主要是因为发现有些同学,对这个并不是很在意,可能以为只是打印到Unity控制台。当你发Release版本的时候,Unity并不会自动帮你禁用Debug.Log,Debug.Log会产生GC,非常影响性能(开启Unity Deep Profiler可以查看性能分析)。

Unity5.3提供手动关闭Debug功能

if (Debug.isDebugBuild) { Debug.logger.logEnabled = true; //Debug.logger.filterLogType = LogType.Log; //显示所有 } else { Debug.logger.logEnabled = false; //Debug.logger.filterLogType = LogType.Error;//只显示Error + Exception }

(这样虽然关闭Log输出, 但是需要开发者主动避免会产生GC的参数传递) 例如 Debug.Log(“Hello”+“World”);

Conditional

采用条件编译标签Conditional封装一层自己的Log输出,来直接避免掉Log输出的编译,还可以省去Log函数参数传递和调用的开销。

public static class DebugEx { //需要在Unity PlayerSettings -> Scripting Define Symbol 添加VERBOSE //Release发布时去掉VERBOSE,所有的DebugEx.Log函数调用将不会参与编译。 //这是简单的实现方式 , 后期功能的扩展以及Debug和Release自动切换机制,可以开发者进行封装。 [Conditional("VERBOSE")] public static void Log(object message, UnityEngine.Object obj = null) { UnityEngine.Debug.Log(message, obj); } public static void LogWarning(object message, UnityEngine.Object obj = null) { UnityEngine.Debug.LogWarning(message, obj); } public static void LogError(object message, UnityEngine.Object obj = null) { UnityEngine.Debug.LogError(message, obj); } } Plugins

Log Viewer 非常好的Log免费插件 5星推荐! Unity Assets Store下载地址



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有