Android平板电脑的图像处理速度超慢



我正在尝试在Android平板电脑(SLIC)上实现SLIC超像素算法

我将c++中的代码移植到android环境中,使用still -lib等。应用程序所做的是从相机中获取图像,并将数据发送到本地代码中进行处理。

我得到了应用程序运行,但问题是,它花了20-30秒来处理一个帧(640 x 400),而在我的笔记本上运行visual studio应用程序将几乎立即完成!

我检查内存泄漏,他们没有任何…他们的任何东西可能会导致计算时间比笔记本中的VS2010更昂贵吗?

我知道这个问题可能很开放,不是很具体,但我也真的不知道。希望你们能帮忙。

感谢

p。我检查了每个进程的运行时间,我认为每一行代码的执行时间都增加了。我没有看到任何特定的函数比平常花费更长的时间。

PSS。你认为跟随会导致慢吗?

  1. 内存大小:调查,在本机期间没有太多的暂停时间显示从GC
  2. STL库:尚未调查,是否有可能像矢量,最大和最小在STL中运行可能会导致显着的慢?
  3. Android环境它自己吗?
  4. Android平板电脑较低的硬件规格(宏碁Iconia tab - 1GHz Nvidia Tegra 250双核处理器,1GB RAM)
  5. 在Java中运行会更好吗?

pss。如果您有时间,请查看代码

我看了一下你的代码,可以提出以下建议:

  1. 首先,您需要将APP_ABI := armeabi-v7a行添加到Application.mk文件中。否则,您的代码将编译为旧的armv5架构,其中您没有任何FPU(所有浮点运算都是模拟的),可用寄存器较少等等。
  2. 你的SLIC实现大量使用double浮点值进行计算。你应该尽可能用float替换它们,因为ARM仍然缺少double类型的硬件支持。

最新更新