首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检测Android上是否存在FPU

检测Android上是否存在FPU
EN

Stack Overflow用户
提问于 2011-11-17 09:57:02
回答 1查看 2.8K关注 0票数 7

我想在Android上获得我的移动应用程序的最大性能。我想知道是否有人知道检查手机是否有FPU的窍门。

经过一些研究,似乎在拥有FloatMath的单元上使用FPU类的速度要慢一些,所以我希望两全其美。

大多数较新的手机都有一个FPU,但我希望它能提供最大的性能。

EN

回答 1

Stack Overflow用户

发布于 2017-11-05 14:30:14

尽管这是一个非常古老的帖子,但对于像我这样被谷歌登陆到这里的人来说,它可能会发现它很有用。在这里,我将展示如何使用NDK (C++)来完成这项工作,因为Java方式已经给出了。

使用NDK,通过包含cpu-features.h,我们可以利用一些API和预定义的宏来检测FPU的可用性。

对于32位处理器,您应该在的返回值上检查ANDROID_CPU_ARM_FEATURE_VFPv3ANDROID_CPU_ARM_FEATURE_VFPv2ANDROID_CPU_ARM_FEATURE_VFP_D32ANDROID_CPU_ARM_FEATURE_VFP_FP16ANDROID_CPU_ARM_FEATURE_VFP_FMA中的一个,这将确保您的处理器配备了android_getCpuFeatures()

对于64位,请检查ANDROID_CPU_ARM64_FEATURE_FP标志。

此外,调用android_getCpuFamily()以获得CPU系列/体系结构(ARM/MIPS,32/64位等)。

cpufeatures library manual可以在您的项目中包含和使用所有内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8161184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档