工具介绍
GPU 过度绘制专项测试工具通过 ADB 或 HDC 建立设备截屏链路,将当前画面保存为本地图片,并调用项目内 DLL 计算特定颜色区域占比,形成 GPU 过度绘制比例。界面支持 0.5s/1s 刷新、阈值配置、可选包名过滤、实时画面预览和 Activity 记录;当比例达到阈值时,工具会保存截图到 overdraw 目录。该工具依赖设备侧开发者选项中的 GPU 过度绘制显示,不是底层 GPU profiler,也不提供性能根因分析。
核心能力
基于本地截图调用 DLL 计算颜色占比,并以百分比显示过度绘制结果。
采集设备当前画面并同步记录前台 Activity,支持按包名过滤非目标页面。
当过度绘制比例达到配置阈值时,自动复制截图到 overdraw 目录。
适用测试场景
- 在页面走查时实时观察过度绘制比例,发现绘制压力较高的页面。
- 按 0.5s 或 1s 刷新频率监控指定应用包名的前台页面。
- 设置过度绘制阈值,并自动保存达到阈值的截图到 overdraw 目录。
- 同时查看实时设备画面、GPU 过度绘制比例和当前 Activity。
环境与依赖
- 运行平台
- Windows 桌面端;被测端支持通过 ADB 连接的 Android 设备,以及通过 HDC 连接的 HarmonyOS/OpenHarmony 类设备。
- 系统范围
- Android 端通过 ADB/scrcpy 服务采集截图;HDC 端通过 harmonyscrcpy/uitest 路径采集截图。代码包含 Android API 与 ABI 读取逻辑,但未声明明确系统版本范围。
- 接入方式
- 通过 PyQt5 图形界面启动;可设置刷新频率、过度绘制比例阈值,并可选填需要监控的应用包名。
- 工具包
- GpuTool.rar
权限与依赖
- PC 端需要 Python/PyQt5、adb 或 hdc、随项目提供的 scrcpy/harmonyscrcpy 资源,以及 lib/dll 下的图像分析 DLL。
- Android 设备需要允许 ADB 调试、文件 push、端口转发和启动 app_process scrcpy 服务。
- HDC 设备需要允许 hdc file send、fport、uitest start-daemon 和相关 shell 命令。
- 被测设备需要进入开发者模式并打开 GPU 过度绘制显示开关。
支持范围与说明
明确支持
- package.py 明确支持 gpu 打包入口,对应 GPUGui.py。
- GPUGui.py 要求进入开发者模式并打开 GPU 过渡绘制开关。
- GPUGui.py 支持 0.5s 和 1s 刷新频率、过度绘制阈值、可选包名过滤和实时图像显示。
- Android 路径使用 support.scrcpy,HDC 路径使用 support.harmonyscrcpy。
- overdraw() 调用 dll.GetRColorRatio 计算 ./tmp/placeholder.jpg 的颜色占比。
- 达到阈值时会将截图复制到 ./overdraw/。
合理推断
- 过度绘制比例的含义取决于设备开启 GPU 过度绘制显示后的颜色渲染结果。
- 截图链路依赖 scrcpy/harmonyscrcpy 服务和端口转发,设备策略可能影响可用性。
- 通过实时截屏与颜色占比分析呈现过度绘制比例,结果与设备开发者选项中的过度绘制可视化直接相关。
- 同时支持 Android ADB/scrcpy 与 HDC/harmonyscrcpy 两类截屏通道。
- 超阈值截图会自动留存,方便测试后回看具体页面状态。
下载与使用说明
- 工具包
- RAR
- 大小
- 83.0 MB
- 更新时间
- 2026-05-22
- 下载
- 登录后下载
工具以本地运行和真实 QA 工作流为前提设计,适合安卓 App 专项测试,不依赖外部测试平台。