首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C/Renderscript/Neon Intrinsics之间的电池功耗--视频滤波器(边缘检测) APK

C/Renderscript/Neon Intrinsics之间的电池功耗--视频滤波器(边缘检测) APK
EN

Stack Overflow用户
提问于 2014-06-27 10:58:09
回答 1查看 763关注 0票数 4

我已经开发了3C/RS/Neon版本的视频处理算法使用Android (使用C++ API的Renderscript)。调用C/RS/Neon将从JAVA前端调用NDK侧的本地级。我发现由于某种原因,Neon版本与C和RS版本相比消耗了大量的能量。我使用Trepn5.0进行功率测试。

  1. 有人能澄清我关于每种方法的功耗水平C,Renderscript - GPU,Neon Intrinsics。谁吃得最多?
  2. 什么是RS码的理想功耗水平?,因为GPU运行的时钟频率和功耗必须更少!
  3. Renderscript API是否专注于功率优化?

视频- 1920x1080 (20帧)

  1. C- 11115.067毫秒(0.80mW)
  2. RS - 9867.170毫秒(0.43mW)
  3. 氖本征-- 9160毫秒(1.49mW)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-28 08:39:23

首先,渲染脚本代码的功耗取决于SOC的类型、CPU、GPU工作的频率/电压等。

即使您查看同一厂商的CPU,比如ARM和A15s和A9s,与A9相比,A15s CPU的耗电量更大。同样,马里GPU4XX对6XX也显示出相同任务的功耗差异。此外,不同厂商之间也存在功率增量,例如Intel和ARM CPU,用于执行相同的任务。同样,人们会注意到QCOM Adreno GPU和ARM马里GPU之间的功率差异,即使它们在相同的频率/电压水平上工作。

如果您使用Nexus 5,我们有一个四A15 CPU运行速度为2.3G / CPU。Renderscript将CPU和GPU推向最高的时钟速度。因此,在这个设备上,我预计基于CPU/Neon或仅仅CPU的RS代码的功耗最高,这取决于您正在执行的操作类型,然后是RS GPU代码。所以底线,在耗电量方面,你使用的设备类型很重要,因为它们使用的SOC不同。在最新一代的SOC中,我希望CPU/Neon比GPU更需要电力。

RS将把CPU/GPU时钟频率推到尽可能高的速度。因此,我不确定是否可以在这里进行有意义的电力优化。即便如此,与GPU/GPU在最高速度下所消耗的功率相比,节省的电能也是微不足道的。

这种功耗对于移动设备来说是一个巨大的问题,从功耗的角度来看,您可能可以使用滤波器来处理计算图像空间中的一些帧。但是当人们在真实的视频处理中使用renderscript的时候,即使是在较低的视频分辨率下,设备也会很快升温,然后OS系统的热管理器就会发挥作用。这些热管理器降低了CPU的总体速度,导致CPU renderscript的性能不可靠。

对评论的答复

仅仅是频率本身并不是耗电的原因。它是频率和电压的结合。例如,在1.25V时运行在200 Mhz的GPU和在1.25V运行的550 Mhz很可能消耗同样的功率。根据系统中功率域的设计方法,在200 the时,0.9V的功率应该足够,理论上,当频率下降时,系统应该将GPU的功率域转换成一个较低的电压。但是各种SOCs都有不同的问题,因此不能保证一致的电压和频率转换。这可能是一个背后的原因,GPU的功率可能会很高,即使是名义负荷。

因此,对于任何,复杂的,如果你持有GPU电压在说像1.25V@600 MHz,你的功耗将是相当高的,并可与CPU在2G@1.25V.

我测试了Neon内禀- 5X5卷积,与不使用CPU完成相同任务相比,它们速度相当快(3x-5x)。Neon硬件通常与MPU (也称MPU功率域)处于相同的功率域中。因此,即使在Neon硬件工作时,所有CPU都保持在电压/频率上。由于Neon对给定任务的执行速度比CPU快,所以如果它消耗的能量相对于CPU要比CPU消耗的更多,我就不会感到惊讶了。如果你正在获得更快的性能,就必须付出一些东西--这显然是力量。

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

https://stackoverflow.com/questions/24450144

复制
相关文章

相似问题

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