gpt4 book ai didi

android - 强制 Renderscript 在 CPU 或 GPU 上运行(至少出于性能调整目的)

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:30:33 25 4
gpt4 key购买 nike

我有一些基本算法(DCT/IDCT 和其他一些)在 Nexus 10 上移植和工作(至少在功能上符合预期)。由于这些算法是首次实现,它们的执行时间目前是遇到secs,这是可以理解的。

但是,鉴于 Renderscript 的架构,我看到这些算法根据其他并行应用程序 Activity 在 CPU 或 GPU 上运行。例如,在我的应用程序中,有一个图像 ScrollView 和此 View 上的任何 Activity ,本质上将渲染脚本执行推送到 CPU。如果没有 Activity ,算法将在 GPU 上运行。我通过 ARM-DS5 Mali/A15 跟踪实时看到了这一点。

这种情况本身就是调试/调优的噩梦,因为算法在 CPU(双核)与 GPU(Mali)上运行时的性能差异大约为 2 秒,因此很难衡量性能改进我正在对我的算法代码执行此操作。

有没有办法解决这个问题?一种可能的解决方案是至少有一个调试可配置选项来为渲染脚本代码选择目标类型(ARM、GPU)?

最佳答案

adb shell setprop debug.rs.default-CPU-driver 1

这将强制执行在引用 CPU 实现上运行。没有等同于将事情强制到 GPU 的方法,因为许多条件可能会使运行时不可能做到这一点。

同样有用的是:

adb shell setprop debug.rs.max-threads 1

这将要使用的 CPU 内核数限制为 1(或您设置为设备 CPU 数的任何其他值)

关于android - 强制 Renderscript 在 CPU 或 GPU 上运行(至少出于性能调整目的),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18753935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com