ceres for Android 太慢的解决方法

时间:2022-10-10 18:35:57

跨平台编译了ceres,结果在android平台上运行的太慢,优化一次要0.3秒左右,时不时要一两秒。这太扯了。没辙了,在google上瞎搜索,看到

Jacobian evaluation is very slow in my own project

一开始还没明白,后来明白了。

要在Android Studio的app gradle里加上

arguments ‘-DCMAKE_BUILD_TYPE=Release‘

或在cmakelist.txt里添加

set(CMAKE_BUILD_TYPE "release")

意思是告诉CMake我的项目编译时,要编译成release版本,这时项目就能发挥出ceres的完全实力。也许,不这样项目会有对ceres调试的信息,会降低速度。这样调整后,速度达到0.04秒一次优化,提升了大约七八倍。