Android Fingerprint 通过提高CPU主频及绑定大核提高 Android 手机指纹识别性能

本文主要是介绍Android Fingerprint 通过提高CPU主频及绑定大核提高 Android 手机指纹识别性能,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

通过提高CPU主频及绑定大核提高 Android 手机指纹识别性能

背景

各大厂商追求手机指纹解锁以及识别快速流畅性,提升用户体验。对指纹解锁提出给快的要求,因此想办法从三个角度优化指纹识别的速度,提升手机解锁以及是指纹识别流畅性。以自己的经验做个marker。

一,提高指纹通讯速率

目前部分指纹解锁速率最高可达24MHz/s, 单提高spi 速率可能会导致通信失败,会展传输数据校验失败,需要配置指纹于主控CPU SPI设置相关。

关于高通平台对部分指纹IC的SPI通讯会造成数据移位的问题,需要对高通平台的

 ../core/settings/buses/spi/qupv3/config/s6150/tz/spi_devcfg.c 

文件中miso_sampling_ctrl_set 进行设定。对于AndroidO qsee4.5 来说直接改为TURE就好了。对于AndroidP或者Q qsee5.0 来说这个直有0~7共8个值,需要逐一验证。

二,绑定大核

现在的CPU的大部分是多核,手机CPU一般是8核,有海思的2+2+4的形式(4个大核+4个小核),也有高通1+3+4或者4+4(4个大核+4个小核))的形式,还有联发科2+6的形式存在(6个大核+2个小核), 一般来讲,大核的主频会比小核的主频会高一点。
相同主频情况下,绑定大核的进程执行会相比没有绑定大核运行更快。

绑定大核的方法:各个平台的绑定大核方法由各大平台商或者TEE供应商提供。下面以AndroidQ MT6785 豆荚sdk_300为例:
豆荚绑定大核的方法是找到teei_client_main.c 定义好如下两个宏编译后验证OK,示例如下:

  alps/kernel-4.14/drivers/misc/mediatek/teei/300/tz_driver/teei_client_main.c#define TEEI_SWITCH_BIG_CORE#define TZ_PREFER_BIND_CORE (7)

确认当前TEE绑定的CPU:

  adb shell cat sys/bus/platform/devices/utos/current_bind_cpu

下面面执行的结果位为豆荚TEE绑定在核6上面,二而6又是MT6785的一个大核,这样说明绑定大核成功。
上面执行的结果位为豆荚TEE绑定在核6上面,二而6又是MT6785的一个大核,这样说明绑定大核成功。

部分平台CPU大小核以及主频
表1,部分平台CPU大小核以及主频

三,提高CPU主频

CPU主频一般不会达到最高主频运行,因此在在执行指纹识别相关操作之前可以用平台相关设置函数,将主频设定成改cpu最高主频。这样会提高代码运算速度。
提频的方法待续。

确认指定cpu当前的工作频率:

adb shell cat    sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freqC:\Users\11599>adb shell cat    sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
774000
C:\Users\11599>adb shell cat    sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_cur_freq
500000
C:\Users\11599>adb shell cat    sys/devices/system/cpu/cpu2/cpufreq/cpuinfo_cur_freq
500000
C:\Users\11599>adb shell cat sys/devices/system/cpu/cpu3/cpufreq/cpuinfo_cur_freq
500000
C:\Users\11599>adb shell cat    sys/devices/system/cpu/cpu4/cpufreq/cpuinfo_cur_freq
500000
C:\Users\11599>adb shell cat    sys/devices/system/cpu/cpu5/cpufreq/cpuinfo_cur_freq
500000
C:\Users\11599>adb shell cat    sys/devices/system/cpu/cpu6/cpufreq/cpuinfo_cur_freq
774000
C:\Users\11599>adb shell cat sys/devices/system/cpu/cpu7/cpufreq/cpuinfo_cur_freq
774000

确认指定cpu的最高工作频率,与上面的当前工作频率比较,是否工作在最高主频:

adb shell cat    sys/devices/system/cpu/cpu7/cpufreq/cpuinfo_max_freqC:\Users\11599>adb shell cat    sys/devices/system/cpu/cpu7/cpufreq/cpuinfo_max_freq
2050000
C:\Users\11599>adb shell cat    sys/devices/system/cpu/cpu6/cpufreq/cpuinfo_max_freq
2050000
C:\Users\11599>adb shell cat    sys/devices/system/cpu/cpu5/cpufreq/cpuinfo_max_freq
2000000
C:\Users\11599>adb shell cat    sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq
2000000

这篇关于Android Fingerprint 通过提高CPU主频及绑定大核提高 Android 手机指纹识别性能的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/275917

相关文章

mysql线上查询之前要性能调优的技巧及示例

《mysql线上查询之前要性能调优的技巧及示例》文章介绍了查询优化的几种方法,包括使用索引、避免不必要的列和行、有效的JOIN策略、子查询和派生表的优化、查询提示和优化器提示等,这些方法可以帮助提高数... 目录避免不必要的列和行使用有效的JOIN策略使用子查询和派生表时要小心使用查询提示和优化器提示其他常

Go使用pprof进行CPU,内存和阻塞情况分析

《Go使用pprof进行CPU,内存和阻塞情况分析》Go语言提供了强大的pprof工具,用于分析CPU、内存、Goroutine阻塞等性能问题,帮助开发者优化程序,提高运行效率,下面我们就来深入了解下... 目录1. pprof 介绍2. 快速上手:启用 pprof3. CPU Profiling:分析 C

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

Python自动化处理手机验证码

《Python自动化处理手机验证码》手机验证码是一种常见的身份验证手段,广泛应用于用户注册、登录、交易确认等场景,下面我们来看看如何使用Python自动化处理手机验证码吧... 目录一、获取手机验证码1.1 通过短信接收验证码1.2 使用第三方短信接收服务1.3 使用ADB读取手机短信1.4 通过API获取

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

Android里面的Service种类以及启动方式

《Android里面的Service种类以及启动方式》Android中的Service分为前台服务和后台服务,前台服务需要亮身份牌并显示通知,后台服务则有启动方式选择,包括startService和b... 目录一句话总结:一、Service 的两种类型:1. 前台服务(必须亮身份牌)2. 后台服务(偷偷干

Tomcat高效部署与性能优化方式

《Tomcat高效部署与性能优化方式》本文介绍了如何高效部署Tomcat并进行性能优化,以确保Web应用的稳定运行和高效响应,高效部署包括环境准备、安装Tomcat、配置Tomcat、部署应用和启动T... 目录Tomcat高效部署与性能优化一、引言二、Tomcat高效部署三、Tomcat性能优化总结Tom

MySQL的cpu使用率100%的问题排查流程

《MySQL的cpu使用率100%的问题排查流程》线上mysql服务器经常性出现cpu使用率100%的告警,因此本文整理一下排查该问题的常规流程,文中通过代码示例讲解的非常详细,对大家的学习或工作有一... 目录1. 确认CPU占用来源2. 实时分析mysql活动3. 分析慢查询与执行计划4. 检查索引与表

Android kotlin语言实现删除文件的解决方案

《Androidkotlin语言实现删除文件的解决方案》:本文主要介绍Androidkotlin语言实现删除文件的解决方案,在项目开发过程中,尤其是需要跨平台协作的项目,那么删除用户指定的文件的... 目录一、前言二、适用环境三、模板内容1.权限申请2.Activity中的模板一、前言在项目开发过程中,尤