Renderscript c风格指针使用性能问题

2023-12-07

在渲染脚本中,我使用绑定指针来迭代大图像。 问题在于数组访问性能。

...
for(int i=0; i < channels; i++) {
    sum += (input[i*input_size]) * mulValue;
}
...

例如,当 input_size 为 12288 时,完成脚本需要 1.5 秒,但当 input_size 为 12280 时,需要约 0.5 秒。

是什么导致了如此神秘的行为?


理解在 RenderScript(或 openCL)中编写的内容对性能的影响是很复杂的。

仅在 RendersScript 中编写并不能保证性能。 很多时候,当内存访问跳跃时,您会遇到缓存一致性问题。

通常,最好将代码构建为一系列以缓存友好方式处理的内核。

抱歉,如果这含糊不清。您的询问没有足够的详细信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Renderscript c风格指针使用性能问题 的相关文章

  • 未找到 Gradle DSL 方法:“versionCode()”

    构建我的 Android 项目时遇到问题 我使用Grgit https github com ajoberstar grgit填写versionCode and versionName在 gradle 中 一切工作正常 直到我将 Andro
  • 如何改变android中menuItem的背景颜色?

    我正在以编程方式将菜单项添加到菜单中 我想在选择特定项目时添加背景颜色 如何为 menuItem 添加背景 您的回答将不胜感激 虽然其他答案提供了更改样式 这会影响all菜单项 据我了解 需要更改一个菜单项 我建议你使用android ac
  • 查找回收器视图中的第一个可见项目是否是列表的第一项

    我有一个包含 13 个数据项的回收器视图 我想知道列表中的第一项是否可见 我知道像这样的方法findFirstVisibleItemPosition and findLastVisibleItemPosition但他们没有说明第一个可见项目
  • 启动 Twitter 应用程序 [重复]

    这个问题在这里已经有答案了 可能的重复 Twitter 应用程序的 Android Intent https stackoverflow com questions 2077008 android intent for twitter ap
  • Mailgun POST /messages API 总是抛出 401 禁止

    我正在尝试使用改造库在 Android 中发送 Mailgun POST messages API 请求 以下是改装要求 HTTP POSThttps api key xxx v3 sandboxxxx messages https api
  • 如何编辑 gradle 依赖项

    我正在开发一个 android 项目 该项目在我的 gradle 文件中使用以下依赖项 compile com mapzen on the road 1 1 1 我想编辑其中一个文件 以添加一些缺少的功能并为该项目做出贡献 如何下载该项目并
  • 更改 AChartEngine 中的图例大小

    我想专门更改饼图的图例大小输出 我已经尝试了所有可以找到的 AChartEngine 方法 但没有一个只能更改图例文本大小 我必须重写 onDraw 函数吗 如果是这样 怎么办 要设置图例高度 请使用 renderer setLegendH
  • 在 Android 中将应用程序上下文保存到静态变量是否安全?

    我知道在 Android 上使用静态变量是相当危险的 特别是当您将它们引用到活动时 但是 如果我有一个扩展 Application 的类 我们称此类为 App 引用此类的实例是否安全 如果是这样 任何其他类对应用程序上下文进行任何类型的引用
  • 将标题设置为操作栏时出现空指针异常

    Error Caused by java lang NullPointerException Attempt to invoke virtual method void android app ActionBar setTitle java
  • 方法断点可能会大大减慢调试速度

    每当向方法声明行添加断点 在 Intellij IDEA 或 Android Studio 中 时 都会出现一个弹出窗口 方法断点可能会大大减慢调试速度 为什么会这样戏剧性地减慢调试速度 是我的问题吗 将断点放在函数的第一行有什么不同 Th
  • Android - 除了普通 SSL 证书之外还验证自签名证书

    我有一个通过 SSL 调用 Web 服务的 Android 应用程序 在生产中 我们将拥有由受信任的 CA 签名的普通 SSL 证书 但是 我们需要能够支持自签名证书 由我们自己的 CA 签名 我已经成功实施了接受自签名证书的建议解决方案
  • Android 在启动时启动服务,如何在设备重启后重新启动服务类?

    我需要在启动时启动一项服务 我搜索了很多 他们正在谈论广播接收器 由于我是 Android 开发新手 所以我对 Android 上的服务并没有清楚的了解 请提供一些源代码 您的接收者 public class MyReceiver exte
  • Python Kivy - 在本机网络浏览器中打开 url 的应用程序

    我尝试制作一个简单的应用程序 在单击 Screen One 上的按钮后 在 Kivy 中打开一个网页 我使用了这个主题 Python 在应用程序中直接显示网络浏览器 iframe https stackoverflow com questi
  • Facebook LoginActivity 未正确显示

    我有一个使用 Facebook 登录的应用程序 我有 FacebookSDK 并且使用 com facebook LoginActivity 问题是 在 10 英寸平板电脑上 当显示软键盘时 活动无法正确显示 我使用的是 Samsung G
  • 版本 5 上带有 getBackground().setAlpha 的按钮 - 棒棒糖无法正常工作

    我有这段代码 适用于自 API 14 以来的每个版本 但在 Android 5 0 Lollipop 上无法正常工作 以下是我希望按钮出现的方式 单击按钮1 buttonArrivals getBackground setAlpha 180
  • onTouchEvent()中如何区分移动和点击?

    在我的应用程序中 我需要处理移动和单击事件 一次点击是由一个 ACTION DOWN 操作 多个 ACTION MOVE 操作和一个 ACTION UP 操作组成的序列 理论上 如果您收到 ACTION DOWN 事件 然后收到 ACTIO
  • Android:单一活动,多个视图

    我不是 Android 专业人士 尽管我开发了一个包含 50 多个活动的应用程序 这使得该应用程序非常庞大 经过8周的开发 现在出现了一些问题 导致应用程序难以维护和升级 我正在处理的主要问题是 我无法将对象引用传递给活动的构造函数 事实上
  • 按名称查找视图

    是否可以通过名称而不是 id 来查找视图 findViewById R id someView 但我想做这样的事情 findViewByName someView 在处理 xml 时 您必须通过标识符查找视图 但是您可以使用以下方式查找标识
  • gradle-experimental:0.1.0 buildConfigField

    谁知道怎么定义buildConfigField在实验性的 gradle 插件中 android productFlavors create demo applicationId com anthonymandra rawdroid buil
  • 使用支持库中的 BottomSheet 时如何调暗背景?

    怎样才能让背景像显示的那样变暗here https material design storage googleapis com publish material v 8 material ext publish 0Bzhp5Z4wHba3

随机推荐

  • 避免 Java 中重复的字符串

    我想问一个关于Java中避免字符串重复的问题 The context是 一个带有标签和属性的 XML 如下所示
  • Prefuse图表手动设置力参数

    Like here 我的 Prefuse 图太密集 看不到任何东西 所以我尝试了 bcr 在接受的答案中建议的方法 但是 它对我不起作用 这是我尝试过的 我恢复了默认设置 然后我改变了第二个参数NBodyForce from ForceSi
  • 比较 HTTP 和 FTP 传输文件的方法

    通过 Internet 传输文件时 其中一种方法相对于另一种方法有哪些优点 或限制 我知道这两种协议的安全形式 我想听听个人经验在性能 可靠性 文件大小限制等方面的比较 这是一个性能比较两者之中 HTTP 对于小文件的请求响应响应速度更快
  • Pandas 列值到列? [复制]

    这个问题在这里已经有答案了 我已经看到了将 Pandas 数据框的列 系列分解为多个列的主题的一些变体 但我一直在尝试做一些事情 但现有的方法并没有真正成功 给定一个像这样的 DataFrame key val id 2 foo orang
  • 检查 iOS 中图像中是否存在子图像[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我有 2 个图像 即较小的图像和较大的图像 现在 我想检查较小的图像是否是较大的图像的一部分 或子图像 我不知道如何检查 我想在 iOS 中实现这一切 经过一番研究后 我发现使用
  • 两个div,一个固定宽度,另一个,其余

    我有两个 div 容器 虽然一个需要特定的宽度 但我需要调整它 以便另一个 div 占据剩余的空间 我有什么办法可以做到这一点吗 left float left width 83 display table cell vertical al
  • 我可以在 PHP 中重载方法吗?

    Example 我想要有两个不同的构造函数 并且我不想使用 func get arg 因为这样就看不到可能的参数了 写其中两个是否合法 例如 class MyClass public function construct do someth
  • 方法定义和对象的函数属性之间的区别

    这是我的代码 const x a console log a b function console log b 之间有区别吗a b功能 我在某处读到 a 创建方法的方式较短 但会带来一些问题 仅在您确定永远不会使用递归或将函数传递给事件处理
  • php:是否有充分的理由引用所有数组键/索引?

    我正在运行别人的代码 他们不断地避免转义他们的数组键 例如 row rsCatalogsItems 名称 代替 row rsCatalogsItems 名称 所以我不断地对我接触到的一切做出微小的改变 只是为了应对那一点懒惰 但现在我想知道
  • Matlab条形图:更改条形图的颜色以及条形图和轴之间的间距

    我有一个棘手的问题 我认为不能简单地回答 我有一个很大的数据表 想要保存每两个相应平均值的条形图 我已经使用 for循环 做到了这一点 但我无法为我的条形图设置不同的颜色 也无法在条形图和轴之间设置适当的间距 这是最简单的例子 k 2 5
  • 如何自定义UIPickerView高度?

    如何自定义 UIPickerView 的高度 我希望它比250高 我已完成以下操作 但无法设置给定高度 void pickerview id sender pickerView UIPickerView alloc initWithFram
  • 为什么 __getattr__ 能够在 Python 2.x 中处理内置运算符重载,但不能在 Python 3.x 中处理?

    在 python 2 x 中 采用以下类 class Person def init self name self name name def myrepr self return str self name def getattr sel
  • 初始化对象时,{0} 是什么意思?

    When 0 用来初始化一个对象 什么意思呢 我找不到任何参考资料 0 任何地方 并且由于花括号 谷歌搜索没有帮助 示例代码 SHELLEXECUTEINFO sexi 0 what does this do sexi cbSize siz
  • Selenium:如何将值从field1复制到field2?

    我们正在 Firefox 中使用 Selenium IDE 录制测试 我们需要将值从只读字段复制到输入字段 有没有直接的方法可以引用该字段 或者我是否必须存储和使用它 举个例子就太好了 Thanks 您将需要两个命令 一个用于存储 一个用于
  • Java 创建新的 ObjectInputStream 块

    我正在尝试使用从 Socket 检索的 InputStream 创建一个新的 ObjectInputStream 这是我的代码 这是我的 MessageGetterSender 类的构造函数 程序未到达检查点 4 public Messag
  • Symfony2实体注释中的可配置参数

    我正在尝试跨多个数据库 其中一个属于遗留应用程序 创建一个联接 如教义博客 但是 该示例建议将数据库名称直接硬编码到模式中 出于显而易见的原因 我想避免这样做 有没有办法读取定义的参数parameters ini or config yml
  • LD_PRELOAD可以用来加载不同版本的glibc吗?

    角色阵容 big old app链接到旧版本glibc say glibc 2 12 我无法做任何事情来改变这一点 cute new addon o链接到较新的版本 glibc 2 23 This glibc 2 23位于非标准路径中 因为
  • 是否可以用交替的垂直列填充 DataGridView?

    我需要显示混合 硬编码 字符串和数据库中的数据的数据 具体来说 每个偶数列都包含不是来自数据库的字符串值 每个奇数列都包含数据 例如 第 1 列将包含数据库中的值 1 到 12 因此前两列看起来像这样 并且相同的模式重复多次 00 00 B
  • 如何修复nodejs抛出错误; ^ 错误:ENOENT:没有这样的文件或目录,请打开

    这就是我的输出的样子 我从以前的类似问题中用尽了很多方法 但没有一个对我的情况有效 我对 Node js 非常陌生 所以任何建议都会非常有帮助 C Users pushp Desktop factor gt snarkjs help int
  • Renderscript c风格指针使用性能问题

    在渲染脚本中 我使用绑定指针来迭代大图像 问题在于数组访问性能 for int i 0 i lt channels i sum input i input size mulValue 例如 当 input size 为 12288 时 完成