问题标签 [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.

0 投票
1 回答
98 浏览

renderscript - 终止挂起的 Renderscript 内核

我有一个 Renderscript 内核来执行类似于 google 示例的长时间操作。但是,用户可以取消请求。是否有任何 API 可以终止挂起的 Renderscript 操作?如何强制渲染脚本停止?

https://github.com/googlesamples/android-BasicRenderScript

0 投票
1 回答
619 浏览

java - 渲染脚本生成方法:找不到符号方法 getPointSize()

尝试从谷歌加载3DLUT 脚本java 代码,但编译失败,编译器生成文件 ScriptC_colorcube.java。

请注意,我已更改int4uint4第 60 行到第 66 行。以下是我在构建它时收到的错误。有问题的行在第一行。

生成的代码

0 投票
1 回答
382 浏览

android - 如果 USAGE_SHARED,Renderscript 在启用 GPU 的驱动程序上失败

我们正在使用渲染脚本进行音频 dsp 处理。对于我们的用例来说,它很简单并且显着提高了性能。USAGE_SHARED但是,在启用了 GPU 执行的自定义驱动程序的设备上,我们遇到了一个烦人的问题。

您可能知道,USAGE_SHAREDflag 使渲染脚本分配重用给定的内存,而无需创建它的副本。因此,它不仅可以节省内存,在我们的例子中,还可以将性能提高到所需的水平。

以下代码USAGE_SHARED在默认渲染脚本驱动程序 ( libRSDriver.so) 上运行良好。使用自定义驱动程序 ( libRSDriver_adreno.so)USAGE_SHARED不会重用给定的内存和数据。

这是使用USAGE_SHARED和调用 renderscript 内核的代码

注意:Allocation::createTyped()文档中没有提到这种变体,但代码rsCppStructs.h有它。这是允许提供支持指针和尊重USAGE_SHARED标志的分配工厂方法。这是它的声明方式:

这是渲染脚本内核

如前所述,out没有任何计算结果。 syncAll(RS_ALLOCATION_USAGE_SHARED)也没有帮助。

以下工作虽然(但慢得多)

复制使其工作,但在我们的测试中,来回复制会显着降低性能。

如果我们通过系统属性关闭 GPU 执行debug.rs.default-CPU-driver,我们可以看到自定义驱动程序以所需的性能运行良好。

将分配给 renderscript 的内存对齐到 16,32,.. 或 1024 等无助于使自定义驱动程序尊重 USAGE_SHARED。

问题

所以,我们的问题是:如何让这个内核在使用自定义渲染脚本驱动程序的设备上工作,以支持 GPU 执行?

0 投票
1 回答
388 浏览

java - 使用相机 api 使用渲染脚本中的 RGB 字节更新相机预览?

我已经能够从我的相机预览中操作字节数组,并使用渲染脚本从 yuvtorb 更改字节。现在,我需要知道如何将 rgb 字节渲染回相机预览。我相信无法更新相机预览。我需要在我的纹理视图之上添加某种覆盖视图,然后将更新后的字节数组渲染到覆盖视图的表面。我需要一些关于我应该如何去做的方向。有人可以告诉我我应该怎么做。这是我到目前为止所尝试的。

Mainactivity.java

渲染脚本.java

0 投票
1 回答
577 浏览

android - Renderscript:加载 ScriptC 脚本失败

当来自谷歌的发布前报告进来时,有 1 台设备(华为 Mate 9)总是出现这种崩溃:“加载 ScriptC 脚本失败”。我从来没有在任何其他设备上遇到过这个问题。

首先,我遇到了原生渲染脚本崩溃。

然后我收到加载失败的正式消息(我在 AsyncTask 中加载渲染脚本):

这是我的gradle设置:

我该如何解决?

0 投票
1 回答
209 浏览

android - 使用 android Renderscript 填充位图的算法

我试图制作一个为图像填充颜色的应用程序。使用 Java 可以正常工作,但由于一些性能问题,我想使用渲染脚本填充位图。我用谷歌搜索了很多关于渲染脚本的东西,但我没有任何合适的东西。请大家指导我如何使用渲染脚本填充位图。任何帮助将不胜感激。谢谢

0 投票
8 回答
6441 浏览

android - AndroidX 破坏了渲染脚本?

由于我已迁移到 androidx,因此无法运行 Renderscript。我收到以下异常:

2018-10-12 16:27:58.328 27195-27195/pl.qus.xenoamp2 A/zygote64: java_vm_ext.cc:504] 应用程序中检测到 JNI 错误:调用 JNI NewGlobalRef 时出现未决异常 java.lang.ClassNotFoundException:没有在路径上找到类“android.support.v8.renderscript.RenderScript”:DexPathList[[zip 文件“/data/app/pl.qus.xenoamp2-xHJAddeg9oM-uGSxlvMp7A==/base.apk”],nativeLibraryDirectories=[/data /app/pl.qus.xenoamp2-xHJAddeg9oM-uGSxlvMp7A==/lib/arm64, /data/app/pl.qus.xenoamp2-xHJAddeg9oM-uGSxlvMp7A==/base.apk!/lib/arm64-v8a, /system/ lib64,/system/vendor/lib64]] 2018-10-12 16:27:58.328 27195-27195/pl.qus.xenoamp2 A/zygote64: java_vm_ext.cc:504] 在 java.lang.Class dalvik.system.BaseDexClassLoader .findClass(java.lang.String) (BaseDexClassLoader.java:93) 2018-10-12 16:27:58.328 27195-27195/pl.qus。xenoamp2 A/zygote64: java_vm_ext.cc:504] 在 java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379) 2018-10-12 16:27:58.328 27195-27195/pl.qus.xenoamp2 A/zygote64: java_vm_ext.cc:504] 在 java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312) 2018-10- 12 16:27:58.328 27195-27195/pl.qus.xenoamp2 A/zygote64: java_vm_ext.cc:504] 在 java.lang.String java.lang.Runtime.nativeLoad(java.lang.String, java.lang.ClassLoader , java.lang.String) (Runtime.java:-2) 2018-10-12 16:27:58.328 27195-27195/pl.qus.xenoamp2 A/zygote64: java_vm_ext.cc:504] 在 java.lang.String java.lang.Runtime.doLoad(java.lang.String, java.lang.ClassLoader) (Runtime.java:1099) 2018-10-12 16:27:58.328 27195-27195/pl.qus.xenoamp2 A/zygote64: java_vm_ext.cc:504] 在 void java.lang。Runtime.loadLibrary0(java.lang.ClassLoader, java.lang.String) (Runtime.java:1014) 2018-10-12 16:27:58.328 27195-27195/pl.qus.xenoamp2 A/zygote64: java_vm_ext.cc: 504] 在 void java.lang.System.loadLibrary(java.lang.String) (System.java:1657) 2018-10-12 16:27:58.328 27195-27195/pl.qus.xenoamp2 A/zygote64: java_vm_ext. cc:504] 在 androidx.renderscript.RenderScript androidx.renderscript.RenderScript.internalCreate(android.content.Context, int, androidx.renderscript.RenderScript$ContextType, int) (RenderScript.java:1408) 2018-10-12 16: 27:58.328 27195-27195/pl.qus.xenoamp2 A/zygote64: java_vm_ext.cc:504] 在 androidx.renderscript.RenderScript androidx.renderscript.RenderScript.create(android.content.Context, int, androidx.renderscript.RenderScript$ ContextType, int) (RenderScript.java:1599) 2018-10-12 16:27:58。328 27195-27195/pl.qus.xenoamp2 A/zygote64: java_vm_ext.cc:504] 在 androidx.renderscript.RenderScript androidx.renderscript.RenderScript.create(android.content.Context, androidx.renderscript.RenderScript$ContextType, int) (RenderScript.java:1549) 2018-10-12 16:27:58.328 27195-27195/pl.qus.xenoamp2 A/zygote64: java_vm_ext.cc:504] 在 androidx.renderscript.RenderScript androidx.renderscript.RenderScript.create( android.content.Context, androidx.renderscript.RenderScript$ContextType) (RenderScript.java:1525) 2018-10-12 16:27:58.328 27195-27195/pl.qus.xenoamp2 A/zygote64: java_vm_ext.cc:504]在 androidx.renderscript.RenderScript androidx.renderscript.RenderScript.create(android.content.Context) (RenderScript.java:1512)renderscript.RenderScript.create(android.content.Context, androidx.renderscript.RenderScript$ContextType, int) (RenderScript.java:1549) 2018-10-12 16:27:58.328 27195-27195/pl.qus.xenoamp2 A/ zygote64: java_vm_ext.cc:504] 在 androidx.renderscript.RenderScript androidx.renderscript.RenderScript.create(android.content.Context, androidx.renderscript.RenderScript$ContextType) (RenderScript.java:1525) 2018-10-12 16: 27:58.328 27195-27195/pl.qus.xenoamp2 A/zygote64: java_vm_ext.cc:504] 在 androidx.renderscript.RenderScript androidx.renderscript.RenderScript.create(android.content.Context) (RenderScript.java:1512)renderscript.RenderScript.create(android.content.Context, androidx.renderscript.RenderScript$ContextType, int) (RenderScript.java:1549) 2018-10-12 16:27:58.328 27195-27195/pl.qus.xenoamp2 A/ zygote64: java_vm_ext.cc:504] 在 androidx.renderscript.RenderScript androidx.renderscript.RenderScript.create(android.content.Context, androidx.renderscript.RenderScript$ContextType) (RenderScript.java:1525) 2018-10-12 16: 27:58.328 27195-27195/pl.qus.xenoamp2 A/zygote64: java_vm_ext.cc:504] 在 androidx.renderscript.RenderScript androidx.renderscript.RenderScript.create(android.content.Context) (RenderScript.java:1512)504] 在 androidx.renderscript.RenderScript androidx.renderscript.RenderScript.create(android.content.Context, androidx.renderscript.RenderScript$ContextType) (RenderScript.java:1525) 2018-10-12 16:27:58.328 27195-27195 /pl.qus.xenoamp2 A/zygote64: java_vm_ext.cc:504] 在 androidx.renderscript.RenderScript androidx.renderscript.RenderScript.create(android.content.Context) (RenderScript.java:1512)504] 在 androidx.renderscript.RenderScript androidx.renderscript.RenderScript.create(android.content.Context, androidx.renderscript.RenderScript$ContextType) (RenderScript.java:1525) 2018-10-12 16:27:58.328 27195-27195 /pl.qus.xenoamp2 A/zygote64: java_vm_ext.cc:504] 在 androidx.renderscript.RenderScript androidx.renderscript.RenderScript.create(android.content.Context) (RenderScript.java:1512)

我在gradle中有通常的条目:

还有什么我需要改变的吗?

0 投票
1 回答
2348 浏览

android - androidx renderscript 崩溃“加载 RS jni 库时出错:java.lang.UnsatisfiedLinkError: JNI_ERR 从 JNI_OnLoad 返回”

我在我的项目中使用Android DS-Photo-Editor-SDK v1.5 ("ds-photo-editor-sdk-v6.aar") 和 androidx。打开编辑器过滤器时出现以下错误:

我按照说明将其添加到我的 bradle.build 中:

其他论点:

有人知道如何解决吗?我在 Google 上找不到任何解决方案。

0 投票
0 回答
324 浏览

android - 将字节数组复制到分配中的Android渲染脚本问题

我是 Renderscript 的新手,我的应用程序每次都在这一行崩溃:

我想要做的是将我从相机(nv21ByteArray)获得的 YUV 图像转换为黑白图像(所以我只需要 Y 值)。这是java代码:

这是我的渲染脚本文件:

我究竟做错了什么?

提前谢谢你,安东

0 投票
1 回答
180 浏览

java - 在 Renderscript 中为位图中的透明像素创建一个计数器

我的问题是获取由于用户的 OnTouchEvent 而更改的图像中透明部分/像素的数量。

所以我想将以下java代码转换为renderscript代码:

请从 rs 和 java 文件中添加代码片段。

提前致谢!