systrace是android提供性能检测工具,介绍和用法参考https://blog.csdn.net/vicwudi/article/details/100191529。这里主要记录filament渲染引擎底层使用systrace进行检测的用法。filament/libs/utils/include/utils/Systrace.h中定义了systrace 的宏用法。
SYSTRACE_ENABLE,启用systrace功能;
SYSTRACE_DISABLE禁用systrace功能。
SYSTRACE_CONTEXT()创建Systrace环境上下文,每次调用SYSTRACE_NAME_BEGIN,SYSTRACE_NAME_END,SYSTRACE_ASYNC_BEGIN,SYSTRACE_ASYNC_END,
SYSTRACE_NAME_END,SYSTRACE_VALUE32之前调用。
SYSTRACE_NAME 跟中跟踪当前作用域的开始和结束。 追踪此宏的正确开始时间和结束时间应首先在 范围主体。它还会自动创建Systrace上下文。
SYSTRACE_NAME_BEGIN(name) 检测SYSTRACE_NAME_BEGIN和SYSTRACE_NAME_END的性能。
SYSTRACE_NAME_END()
SYSTRACE_CALL()调用当前函数性能检测。
SYSTRACE_ASYNC_BEGIN(name, cookie)跟踪异步事件的开始。在上下文中,异步事件不需要嵌套。 名称描述事件,并且cookie提供了唯一的标识符来区分 同时发生的事件。 名称和cookie必须为用来使用SYSTRACE_ASYNC_END结束它。
SYSTRACE_ASYNC_END(name, cookie)
SYSTRACE_VALUE32(name, val) 跟踪值的变化
SYSTRACE_VALUE64(name, val) 跟踪值的变化