用WPR(Windows Performance Recorder)抓取UI delay并进行分析的示范

时间:2024-04-12 20:51:37

简介



1)首先我们要做的是获取一个记录了发生UI delay的日志文件,先打开UIdelay程序,然后点击按扭就可以发现进度条会停止流动,并且窗口也会停止响应不接收任何消息。
用WPR(Windows Performance Recorder)抓取UI delay并进行分析的示范

  • 注:在用WPR去记录的过程中记得勾选First level triage 和 CPU usage两个选项



2)保存我们刚刚那段时间生成的.etl文件,用WPA打开它,就可以直接看到UI delay的图片
用WPR(Windows Performance Recorder)抓取UI delay并进行分析的示范



3)接下来展开WPA左边的Computaion选项来分析一下这段时间的调用栈,可以看到调用栈中的具体函数名称是无法显示的,这是因为我们的.pdb符号文件没有加载,配置一下我们的.pdb符号文件目录路径,这个文件就在我们的工程目录下面。
用WPR(Windows Performance Recorder)抓取UI delay并进行分析的示范



4)配置完成后就可以看到具体的函数名称了,依次展开函数调用,发现在窗口过程函数(WndProc)中大量的调用了wprintf函数从而导致了UI Delay
用WPR(Windows Performance Recorder)抓取UI delay并进行分析的示范