CSV_SCOPED_TIMING_STAT_EXCLUSIVE的意义

[Image Removed]

上面这段代码,如果 CSV_SCOPED_TIMING_STAT_EXCLUSIVE 是范围内的耗时的话

应该是 NetworkIncomingTest0 >= NetworkIncomingTest1 >= NetworkIncomingTest2

实际数据是 NetworkIncomingTest2 最大,所以猜测 CSV_SCOPED_TIMING_STAT_EXCLUSIVE 并不是测量范围内的耗时,而是 到下个csv的耗时

[Image Removed]

类似这种

CSV_SCOPED_TIMING_STAT_EXCLUSIVE(A): 测量的是 SomeFunctionA 的耗时(而非 SomeFunctionA + SomeFunctionB )
CSV_SCOPED_TIMING_STAT_EXCLUSIVE(B): 测量的是 SomeFunctionB 的耗时
 CSV_SCOPED_TIMING_STAT_EXCLUSIVE(Main): 测量的是 SomeFunctionC 的耗时(而非 TestFunction + SomeFunctionC)

void TestFunction()
{
CSV_SCOPED_TIMING_STAT_EXCLUSIVE(A)
SomeFunctionA();
CSV_SCOPED_TIMING_STAT_EXCLUSIVE(B)
SomeFunctionB();
}

void Main()
{
 CSV_SCOPED_TIMING_STAT_EXCLUSIVE(Main)
TestFunction();
SomeFunctionC();
}

之前有提相关问题

CSV 中 Exclusive/GameThread/EventWait 的疑问

[Content removed]

您好,感谢提醒,看上去我只解释了前半段,没​解释EXCLUSIVE的含义,它的意思是为了避免作用域下同范围或父子范围的重复记时,所以就是您上面说的,如果使用去掉EXCLUSIVE的宏会累积记时