Skip to content

常见问题 ​

没有 QPT 节点还能用吗? ​

能。QPT 只是分区功耗的数据源。没有它时,以下功能仍然正常:

  • CPU 簇频率、每核占用
  • GPU 频率与占用、DDR 频率
  • 四路温度(CPU / DDR / GPU / 电池)
  • 整机功耗(power_now 或电压 × 电流)
  • FPS 与前台应用记录

只是仪表盘与详情页的分区柱状图、分区功耗曲线会消失。判断方法:

bash
su -c 'ls /sys/class/powercap/qpt'

目录不存在就是没有;存在但里面是空的,说明厂商没有启用。

整机功耗一直是 0.00 W,是坏了吗? ​

不是。不少 BMS 驱动的 power_now 节点只在充电时更新,放电时直接读回字面的 0。

WattScope Next 的处理顺序是:

  1. 依次探测 /sys/class/power_supply/{battery, Battery, bms, hisi_bk_battery}
  2. 按 current_now × voltage_now 计算,并按物理量级自适应单位
  3. power_now 仅作最后兜底

如果三种都拿不到,才会显示 --。

双电芯机型功耗显示偏低一半 ​

部分双电芯机型的电池驱动只上报单路电芯电流,于是整机功耗被低估约一半。去 设置 → 采样 → 双电芯机型 打开即可,实时预览、OSD 与落库同步生效。

判断方法:如果整机功耗长期稳定在「实际值的一半」附近,基本就是这个原因。

为什么游戏里 FPS 显示 0? ​

FPS 主数据源是 SurfaceFlinger 的呈现时间戳,回退才是 dumpsys gfxinfo。

  • 大部分 SurfaceView / 游戏渲染路径能被 SurfaceFlinger 捕获
  • 少数游戏的合成路径特殊,gfxinfo 里也查不到对应帧,两种源都拿不到数据
  • 此时 FPS 显示 0 或空,其余指标不受影响

1.0 版本用 gfxinfo 作主源,这种情况更常见——这也是重构时换数据源的原因之一。

记录本身耗多少电? ​

按实测剖析,记录态在 5 Hz 默认配置下的额外功耗主要来自三点:shell 采样、落库与预览刷新。重构后:

  • 采样链路 0 次 fork(1.0 每 tick 约 32 次)
  • 落库批量化,约 1 次事务/秒
  • FPS 与前台检测解耦,不再每 tick dumpsys

完整的方法与数据见记录链路开销剖析。

能和原版 WattScope 一起装吗? ​

可以。包名不同:

  • WattScope Next:io.github.rusheng920.wattscope
  • 原版 WattScope:com.qpt.powermonitor

两者数据完全独立,互不覆盖。但也不会共享历史记录——从原版切过来等于全新开始。

记录数据存在哪?会上传吗? ​

记录写入应用私有目录下的本地 Room 数据库,导出(JSON / CSV)完全由你手动发起,存在你选择的位置。应用不含任何上传记录的功能。

采样间隔怎么选? ​

场景建议
日常观察、游戏帧率波动200 ms(默认)
长时间功耗测试(1 小时以上)500 ms ~ 1 s,省电且曲线足够密
抓瞬时尖峰100 ms,但记录自身的开销会稍微显形

所有监控项同一采样率

v1.2.3 起,CPU 簇频率、每核占用、整机功耗、GPU、温度与 FPS 不再按 1 秒慢节奏采样,全部跟随你设定的间隔与 SoC 功率同拍落库。详情页八类图表时间轴逐点对齐,跨图对比不用再眯眼对时间。

为什么只支持 Android 13+? ​

当前 minSdk 为 33。更低版本未做适配与验证,装上也可能因为权限与 API 差异出现异常,故不做承诺。

悬浮球 / OSD 为什么不是毛玻璃? ​

因为逐帧高斯模糊会持续占用 GPU——而那正好会污染你正在测的功耗。两个浮层用静态液态玻璃底衬代替,只有应用内底栏才开实时模糊。

同理,「记录中降级底栏效果」默认开启:一开始记录,连应用内的玻璃都会退成静态底衬。

支持非高通平台吗? ​

分区功耗依赖高通 QPT,联发科、三星等平台没有这个节点,只能拿到附加指标(频率、温度、FPS 等)。部分节点名称在不同厂商 ROM 上不一致,缺失的图表会自动隐藏。

下一步 ​

基于 Alita23333/WattScope 二次开发 · 仅供学习与研究使用,请勿用于商业用途