问题标签 [android-renderscript]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 渲染脚本文件中的内核数
在 renderscript 内核中必须在单独的.rs
文件中定义如下:
然后它必须在主java文件中使用,如下所示:
我想知道以下哪一项是性能方面的最佳编程实践以及为什么。
- 在同一个
.rs
文件中定义所有内核。 .rs
为不同的内核使用单独的文件。
renderscript - 调用 android.support.v8.renderscript 中不受支持的方法 rsAllocationCopy1DRange
我试图将分配的所有单元格复制到渲染脚本中的其他分配。从android开发者api参考我得到了这个方法rsAllocationCopy1DRange,它的签名是
void rsAllocationCopy1DRange(rs_allocation dstAlloc,uint32_t dstOff,uint32_t dstMip,uint32_t 计数,rs_allocation srcAlloc,uint32_t srcOff,uint32_t srcMip);
.
方法的谷歌参考链接是https://developer.android.com/guide/topics/renderscript/reference/rs_allocation_data.html
但是当我运行脚本时,它会在 android.support.v8.renderscript错误中显示调用不支持的方法 rsAllocationCopy1DRange
我的 rs 脚本在下面
和java代码是
错误的 Logcat 输出是
java - 如何从 Renderscript 内核中检索结构
我有个问题。我想从渲染脚本内核中检索结构。我想要的是我会得到一个结构元素的输入......我会修改它,然后将它修改后返回。但是反射层没有这样的方式。我尝试手动反序列化缓冲区中的数据,但我什至无法将缓冲区复制到 ByteBuffer,因为分配在类型的 copyTo 中具有验证,所以我不知道我应该做什么......
android - 我可以在 RenderScript 中使用 C 库(标题)吗?
例如,我想使用一个为 C 语言中的特定数学计算编写的带有渲染脚本的库。我想知道是否可以像 include <'math.h'> 一样添加它们。更具体地说,该库是关于常微分方程的(在 matlab 中用 ode23 众所周知)。
android - 在渲染脚本中重叠计算和通信
在渲染脚本中,我调用这样的内核
并将参数传递给分配,如下所示:
我正在一个程序中调用多个不同的内核。是否可以将内核的数据传输与先前内核的计算重叠?(即,当 GPU 在前一个内核上工作时,我们设法为下一个内核传输数据)
android - 带有renderscript android的ODE
我想将神经网络与渲染脚本一起使用。我想知道是否有办法用渲染脚本求解 ODE(常微分方程)。有什么特定于带有 BLAS 新内在 android 的 ODE 的东西吗?
android - 使用 Renderscript 的 android 模糊问题
我正在使用以下代码为我的 imageview 构建模糊背景。
Blur 在大多数情况下都构建得很好,但随着时间的推移会变得很糟糕,最终我的应用程序崩溃而没有任何崩溃日志。在模拟器上运行时,经过严格测试,我看到以下错误:
在这方面我有以下疑问:
我正在为渲染脚本使用以下 gradle 配置:
compileSdkVersion 23 buildToolsVersion "23.0.3"
defaultConfig { applicationId "package" minSdkVersion 19 targetSdkVersion 23 multiDexEnabled true renderscriptTargetApi 19 renderscriptSupportModeEnabled true }
推荐的 renderscript 库版本是什么?我应该从android.support.v8.renderscript.Allocation or
android.renderscript` 包中导入依赖项吗?
- 我可以在不使用 renderscript 库的情况下实现模糊效果吗?
image-processing - RenderScript 的分配输出返回黑色 Bitmap
几天前我刚刚开始学习 RenderScript。我设法创建了一些简单的图像处理过滤器,例如灰度、颜色变化。现在我正在研究 Canny 边缘过滤器,但没有成功。
问题:ImageView为什么显示黑色图像以及如何解决?
我正在使用由arekolek github制作的 Canny egde 过滤器的实现
可选:我可以更快地计算它吗?
我以在我单击设备上的图像时运行的方法“runEdgeFilter(...)”中编写的所有代码结束,以确保我不会在其他地方弄乱 imageView。到目前为止我使用的代码。
渲染脚本边缘.rs:
经过一番调试,我发现:
返回白色和黑色像素,因此我认为 renderscript 可以正常工作。输出与我之前成功分配给位图的渲染脚本过滤器(uchar4)的类型相同。我不知道我做错了什么。
我的 logcat 也会打印:
在每个使用渲染脚本的程序中,但其他程序即使出现此警告也能正常工作。
更新#1
正如@Stephen Hines提到的,阅读越界存在问题。我想我现在通过更改这些行来修复它(没有弄乱渲染脚本):
进入:
但是我的问题仍然没有解决。输出如前所述为黑色。
android - 将数组的一部分复制到分配
我想用 renderscript 处理接收到的数据,它包含 2 个字节的标头和数百个未对齐的 3 字节样本,它们在 rs 中表示为 3 个无符号字符的向量,所以我只需要复制样本并剥离标头。
我可以在不将数组的一部分复制到新数组并从中填充的情况下做到这Allocation
一点吗?
尝试使用Allocation.copy1DRangeFrom
,但现在我假设该offset
参数是Allocation
自身的偏移量,而不是源数组中的偏移量。
android - RenderScript:rsObjectBase.cpp 中的断言失败
我在我的应用程序的 logcat 输出中看到了很多以下错误消息:
尽管如此,该应用程序确实大部分工作,但有时它会在启动 RenderScript 代码几次后与 SIGSEGV 一起崩溃。
我能够找到问题(嗯,我认为)。我的渲染脚本代码中有一个函数,它返回一个rs_allocation
并且定义和使用有点像这样:
将函数定义更改为以下内容后,错误消息消失了,此后应用程序没有崩溃:
现在的问题是,为什么这有什么不同?毕竟rs_allocation
被定义为rs_types.rshint
中的指针。所以当一个函数返回一个时,应该不会发生什么太花哨的事情,对吧?rs_allocation