Android Renderscript速度不一致

时间:2016-09-11 22:42:18

标签: java android blur renderscript

我的问题很简单。我使用Renderscript模糊一个Bitmap

我有三种不同的Android设备来测试速度和速度。性能相同的代码。我亲眼目睹了一些奇怪的不一致之处,如果可能的话,我会对此进行解释。

  • 第一台设备:Nexus 7 2013运行版Android 5.0,植根于S4 Pro 4c @ 1.5GHz
  • 第二台设备:三星Galaxy Note 2运行非官方的Cyanogen模式 13(Android 6)带有S800,4c @ 2.3GHz
  • 第3台设备:三星Galaxy S4 Mini runnong Cyanogen模式13(Android 6)使用S400 2c @ 1.7GHz

初看起来,最快的应该是Note 3,而最慢的应该是S4 Mini。

以下是 25f 作为radius一遍又一遍地模糊图像( 100次)的过程的结果。所有设备上都运行相同的模糊代码。

  • Nexus 7:~10 secondes;
  • 注3:~5 secondes和
  • S4 Mini:~3 secondes。

我可能会补充一点,我模糊的图像是一个拉伸整个屏幕的位图。也许这就是原因,因为在Nexus 4上处理的像素比在Nexus 7上要多?或者它也可能是Android的版本?

1 个答案:

答案 0 :(得分:2)

这将是几件不同事物的组合:

  • SoC的内存(RAM)速度
  • 使用板载GPU或DSP与CPU
  • CPU和GPU(或DSP)之间的接口速度(如果有)
  • 数据大小

如您所述,所有设备的屏幕分辨率都不相同,因此比较不公平。您应该使图像与所有图像的大小相同。

GPU与CPU的使用取决于在平台级别具有适当“驱动程序”层的设备制造商(或定制ROM)。否则,Renderscript将默认使用通常不具备性能的CPU。

相关问题