进去后, 按 p 进行 cpu 占比由大到小的排序显示, 显示有延时, 默认 5s 刷新一次
adb shell top
adb shell dumpsys meminfo
adb shell dumpsys cpuinfo
adb shell ps -A
目录: external/libyuv/
参考链接: 原文链接:https://blog.csdn.net/u010126792/article/details/61617491
//获取cpu的最大工作频率(多个核心修改cpu0,cpu1进行查询):
adb shell cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
结果包括总的cpu使用率和每个核的cpu使用率
但结果无法直接得到cpu每个核心的使用率,需要通过公式进行计算,查看非常不方便。
还可以设置cpu的工作模式,一般包括interactive conservative ondemand userspace powersave performance 这几种工作模式,
adb shell "cat /proc/stat"
cpu的使用率,也可以利用top命令,但无法查看单个核的使用率
cpu无论4核,8核,还是10核同时工作的一般只有4个核心。
adb shell "cat /proc/stat"
cpu系统架构,核心数等
adb shell dumpsys cpuinfo
//获取系统GPU使用情况,gpu使用率
// 会打印出两个值, 第一个/第二个 就是 GPU busy 的百分比
adb shell "cat /sys/class/kgsl/kgsl-3d0/gpubusy"
//结果包含两列数字,已用第一列和第二列做除法可以得到gpu的使用率
adb shell "cat /sys/class/kgsl/kgsl-3d0/gpuclk"
//现在更多的程序利用opengles,vulkan等gpu接口绘制,他们直接申请gpu存储,节省了cpu消耗,使绘制更快。
adb shell cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
【Android9.0】
adb shell
cd vendor/etc/camera
cat camera_config.xml
adb 开启 aec log // aetest 自动曝光测试
adb shell setprop persist.vendor.camera.sensor.debug 5
adb shell setprop persist.vendor.camera.stats.aec.debug 5 // 设置 aec 全局 debug log
adb shell setprop persist.vendor.camera.stats.aetest 1 // 开启自动曝光测试
AEC 测试设备、环境光固定,设置完后,重启相机生效
adb shell setprop persist.vendor.camera.cal.dump 1
数据路径:
"/data/misc/camera/"
或者
"/data/vendor/camera/"
adb shell chmod 777 data/vendor/media
adb shell setenforce 0
adb shell setprop vidc.enc.log.in 1
adb shell setprop vendor.vidc.enc.log.in 1
adb shell setprop vidc.enc.log.out 1
adb shell setprop vendor.vidc.enc.log.out 1
data/vendor/media 目录下会生成编码后的数据流
adb root
adb shell setenforce 0
adb shell "echo 0x103F > /d/msm_vidc/debug_level"
adb shell "echo 0x3f > /d/msm_vidc/fw_level"
adb shell "echo 100 > /sys/module/videobuf2_core/parameters/debug"
adb shell "echo 0 > /proc/sys/kernel/kptr_restrict"
adb shell setprop vidc.debug.level 7
adb shell setprop vendor.vidc.debug.level 7
adb shell chmod 777 data/vendor/media
adb shell debuggerd -b
vendor\qcom\proprietary\mm-camera\mm-camera2\media-controller\modules\iface2\iface_util.c
static uint64_t iface_util_get_vfe_clk(
uint32_t num_sensor_meta,
ispif_out_info_t *split_info,
sensor_out_info_t *sensor_out_info,
uint32_t isp_id)
min_line_length = MIN(ll_max, theoretical_line_length);
if (min_line_length) {
vfe_clk = pixels_per_line * sensor_out_info->op_pixel_clk /
min_line_length;
} else {
vfe_clk = sensor_out_info->op_pixel_clk;
}
/* Make sure the vfe clock meets the minimum VBI requirements */
if ((sensor_out_info->min_vbi != 0) &&
(sensor_out_info->min_vbi < REQUIRED_MIN_VBI)){
vfe_clk = vfe_clk * REQUIRED_MIN_VBI / sensor_out_info->min_vbi;
CDBG_HIGH("%s: not enough VBI cycle %d\n",__func__,
sensor_out_info->min_vbi);
}
{ /* override to force ISP clock rate */
char prop[255];
int override = 0;
property_get("persist.vendor.camera.dualcam.override", prop, "0");
override = atoi(prop);
if (override) {
vfe_clk = MAX(vfe_clk, sensor_out_info->op_pixel_clk);
}
} /* override to force ISP clock rate */
aec_settle
ISO = (analog_gain*100)/ISO_100_gain。
效果参数中 ISO_100_gain =1
adb shell dumpsys media.camera
persist.vendor.debug.set.fixedfps
关键字:PROFILE_PREVIEW_FRAMES_PER_SECOND
默认fps log是不输出的,需要用到adb命令打开
adb 打开帧率log
adb shell setprop persist.vendor.debug.sf.showfps 1
打印preview帧率log的文件路径和函数:
// HAL-1 架构的
hardware\qcom\camera\QCamera2\HAL\QCamera2HWICallbacks.cpp
void QCamera2HardwareInterface::debugShowPreviewFPS()
帧率计算方式:
mPFps = (((double)(mPFrameCount - mPLastFrameCount)) * (double)(s2ns(1))) / (double)diff;
preview帧率 log:
01-04 06:35:15.331 523 3321 I QCamera :
debugShowPreviewFPS: 3332: [KPI Perf]: PROFILE_PREVIEW_FRAMES_PER_SECOND : 29.7241 Cam ID = 0
如果找不到 preview、video、raw的 fps log,
请先打开 hal log 和 fps log,后重启,再录像,再抓log
open hal log: adb shell setprop persist.vendor.camera.hal.debug 5
open fps log: adb shell setprop persist.vendor.debug.sf.showfps 1
adb sync
adb reboot
关键字:PROFILE_PREVIEW_FRAMES_PER_SECOND
默认fps log是不输出的,需要用到adb命令打开
adb 打开帧率log
adb shell setprop persist.vendor.debug.sf.showfps 1
打印video帧率log的文件路径和函数:
hardware\qcom\camera\QCamera2\HAL\QCamera2HWICallbacks.cpp
void QCamera2HardwareInterface::debugShowVideoFPS()
video fps计算方式
mVFps = (((double)(mVFrameCount - mVLastFrameCount)) * (double)(s2ns(1))) / (double)diff;
video fps log:
01-04 06:34:52.713 523 3316 I QCamera :
debugShowVideoFPS: 3308: [KPI Perf]: PROFILE_VIDEO_FRAMES_PER_SECOND: 32.9534 Cam ID = 0
AE TEST,用于检测曝光的线性度。需要配合开启AEC LOG和使用。
AEC 测试设备、环境光固定,设置完后,重启相机生效。
adb shell setprop persist.vendor.camera.sensor.debug 5
adb shell setprop persist.vendor.camera.stats.aec.debug 5 // 设置 aec 全局 debug log
adb shell setprop persist.vendor.camera.stats.aetest 1 // 开启自动曝光测试
需要使用 CHromatix 6.6 Tools,并导入 metedata 文件和3A DLL 文件。
metadata 文件如下:
Please try below command and be sure to enable zsl
adb root
adb remount
adb shell setprop persist.vendor.camera.raw_yuv 1
adb shell setprop persist.vendor.camera.raw.format 31
adb shell chmod 777 /data
adb shell setprop persist.vendor.camera.dumpimg 20
adb shell setprop persist.vendor.camera.zsl_raw 1
adb shell setprop persist.vendor.camera.dumpmetadata 1
adb shell setenforce 0
adb shell sync