fionna 是一个针对安卓端的性能采集工具,其功能非常简洁。命名灵感来自于《冒险时光》中的 Fionna Campbell。
当前已实现的主要功能有:
Home
perf
Terminal
report
具体的代码在 test/frame_benchmark_test.go 中,我在里面定义了三个用于对比的方法:TestFPSBySurfaceFlinger、TestFPSByGFXInfo、TestFPSByFrameTool,分别对应 SurfaceFlinger、GFXInfo、新方案工具的获取方式。
测试使用机型为 iqoo11s,软件为《白尘禁区》(com.dragonli.projectsnow.lhm),三个方法的获取结果为:
TestFPSBySurfaceFlinger
TestFPSByGFXInfo
OMSage Frame Tool
可以看到,使用 OMSage Frame Tool 工具获取 Frame 的性能数据有更好的兼容性,基本上能适用安卓大部分场景下的 Frame 性能采集场景。
OMSage Frame Tool 的使用请参考具体代码,并严格按照其代码逻辑使用,二开过程中出现的任何问题,不予解答。
通过 Release 下载对应的构建产物,解压后直接执行对应的目标程序即可
命令行中直接执行:
fionna
之后浏览器访问对应的地址: http://127.0.0.1:3417
fionna 内置简单的命令行模式,可以输入以下命令查看说明:
fionna --help
主要有两个模式:
在命令行中直接执行以下命令,程序会直接开启一个 web 服务,之后可以访问对应的地址:http://127.0.0.1:3417
fionna web
由于 web 的依赖性太强,所以提供一个简单的性能输出模式,输入以下命令,即可在命令行中得到对应的性能数据:
fionna cli-perf [flags]
#参考示例:fionna cli-perf --fps
可选参数
快捷使用 | 选项名 | 参数类型 | 描述信息 |
---|---|---|---|
-h | --help | 获取帮助指南 | |
-p | --package | string | 应用包名 |
-d | --pid | int | 应用 PID (默认 -1) |
--proc-cpu | 获取进程 cpu 数据 | ||
--fps | 获取系统 FPS | ||
--jank | 获取系统 jank 信息 | ||
--proc-mem | 获取进程内存数据 | ||
--proc-threads | 获取进程线程数量 | ||
-s | --serial | string | 设备序列号(默认第一个设备) |
--sys-cpu | 获取系统 cpu 数据 | ||
--sys-mem | 获取系统内存数据 | ||
--sys-network | 获取系统网络数据 |
二开本项目请遵守 AGPL 协议!!!!!!
二开本项目请遵守 AGPL 协议!!!!!!
二开本项目请遵守 AGPL 协议!!!!!!
本项目嵌入了一个简单的 vue 前端,所以开发前必须先进行前端的设置。如果需要自定义开发,请先按照以下步骤操作
cd fionna-web
npm install
npm run build
接下来即可正常根据需求开发项目
https://github.com/omsage/fionna