问题标签 [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.
renderscript - 终止挂起的 Renderscript 内核
我有一个 Renderscript 内核来执行类似于 google 示例的长时间操作。但是,用户可以取消请求。是否有任何 API 可以终止挂起的 Renderscript 操作?如何强制渲染脚本停止?
android - 如果 USAGE_SHARED,Renderscript 在启用 GPU 的驱动程序上失败
我们正在使用渲染脚本进行音频 dsp 处理。对于我们的用例来说,它很简单并且显着提高了性能。USAGE_SHARED
但是,在启用了 GPU 执行的自定义驱动程序的设备上,我们遇到了一个烦人的问题。
您可能知道,USAGE_SHARED
flag 使渲染脚本分配重用给定的内存,而无需创建它的副本。因此,它不仅可以节省内存,在我们的例子中,还可以将性能提高到所需的水平。
以下代码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 执行?
java - 使用相机 api 使用渲染脚本中的 RGB 字节更新相机预览?
我已经能够从我的相机预览中操作字节数组,并使用渲染脚本从 yuvtorb 更改字节。现在,我需要知道如何将 rgb 字节渲染回相机预览。我相信无法更新相机预览。我需要在我的纹理视图之上添加某种覆盖视图,然后将更新后的字节数组渲染到覆盖视图的表面。我需要一些关于我应该如何去做的方向。有人可以告诉我我应该怎么做。这是我到目前为止所尝试的。
Mainactivity.java
渲染脚本.java
android - Renderscript:加载 ScriptC 脚本失败
当来自谷歌的发布前报告进来时,有 1 台设备(华为 Mate 9)总是出现这种崩溃:“加载 ScriptC 脚本失败”。我从来没有在任何其他设备上遇到过这个问题。
首先,我遇到了原生渲染脚本崩溃。
然后我收到加载失败的正式消息(我在 AsyncTask 中加载渲染脚本):
这是我的gradle设置:
我该如何解决?
android - 使用 android Renderscript 填充位图的算法
我试图制作一个为图像填充颜色的应用程序。使用 Java 可以正常工作,但由于一些性能问题,我想使用渲染脚本填充位图。我用谷歌搜索了很多关于渲染脚本的东西,但我没有任何合适的东西。请大家指导我如何使用渲染脚本填充位图。任何帮助将不胜感激。谢谢
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中有通常的条目:
还有什么我需要改变的吗?
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 上找不到任何解决方案。
android - 将字节数组复制到分配中的Android渲染脚本问题
我是 Renderscript 的新手,我的应用程序每次都在这一行崩溃:
我想要做的是将我从相机(nv21ByteArray)获得的 YUV 图像转换为黑白图像(所以我只需要 Y 值)。这是java代码:
这是我的渲染脚本文件:
我究竟做错了什么?
提前谢谢你,安东
java - 在 Renderscript 中为位图中的透明像素创建一个计数器
我的问题是获取由于用户的 OnTouchEvent 而更改的图像中透明部分/像素的数量。
所以我想将以下java代码转换为renderscript代码:
请从 rs 和 java 文件中添加代码片段。
提前致谢!