企点PC端性能测试——UI卡顿分析

发表于:2018-5-24 16:50

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:付煜    来源:腾讯云

分享:
  一、背景
  PC端的测试过程中会碰到一些性能问题,例如UI卡顿,内存泄漏等等,为了找到原因,做了很多的调研和尝试,也总结了一些方法。本文以一个企点融合工作台测试中发现的案例说明如何获得UI卡顿数据,以及如何分析数据,定位问题
  二、案例介绍
  点击工作台拨号盘时,数字按钮的响应可以感觉到明显的卡顿。以下是修复前和修复后的效果对比。
  修复前
  修复后
  三、工具介绍
  目前业界用的比较多的Windows性能测试工具主要有:
  WPT(Windows performance toolkit):微软官方的性能测试工具,集成在Windows SDK中
  UIforETW:开源工具,下载地址
  在前期的调研中,WPT可以说是 “举步维艰“,而UIforETW则是“纵享丝滑”,基于以下原因,最终选择了UIforETW:
         
  其实无论是WPT还是UIforETW都是基于Xperf的工具,而Xperf的基础又是ETW(Event Tracing for Windows),ETW是一个生产者消费者模式的系统,它提供了内核级的事件跟踪能力。
  ETW有三个成员组成:
  Controllers,负责启动停止Event Tracing Session,负责启用停止Providers。
  Providers,负责向Event Tracing Session中输出事件。
  Consumers,从Event Tracing Session中获取事件。
  四、案例分析
  只要UI 线程Delay时间超过200 ms,Microsoft-Windows-Win32k Provider就会记录事件,并在UI Delay图中显示
  1、测试场景
  鼠标点击工作台拨号盘任意数字按钮5次
  2、数据获取
  点击Start Tracing后,复现卡顿现场,接着点击Save Trace Buffers即可,生成的数据文件显示在Traces栏
  双击打开数据文件,左侧的Graph Explorer展示了获取到的图形列表,包含了System Activity,CPU Usage,File I/O等,找到UI Delay图形
  展示如下:
  从图中可以看到,QiDian(7320)的3840线程总共有5次卡顿,每次卡了约0.5s,共约2.7s




上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号