标签: renderscript

谷歌加瓷砖动画

我正在试图弄清楚如何制作与Google加时间轴视图相似的布局.在时间轴上滚动时有一个动画,我真的很喜欢它.知道怎么做吗?

在此输入图像描述

android android-animation android-layout renderscript

11
推荐指数
1
解决办法
5506
查看次数

Renderscript通过支持库

在我看来android有一个包含Renderscript支持的android.support.v8包.问题是,这似乎没有在任何地方记录 - 支持库文档没有说任何关于v8包,只有v4和v13.

API级别8及以上的所有设备是否支持该软件包,是否可以安全地用于生产?

android renderscript android-support-library

11
推荐指数
3
解决办法
7607
查看次数

谷歌选择RenderScript而不是OpenCL的真正原因是什么?

之前已经提出了一个稍微不同的问题,但我想知道Android开发人员认为谷歌的决定背后的真正含义,而不是谷歌官方的答案.

OpenCL是一种开放标准,适用于各种设备,如CPU,台式机GPU,ARM处理器,FPGA和DSP.它为我们的开发人员提供了创建高性能软件和库的便利,这些软件和库适用于所有设备.

RenderScript是一种更高级的语言,主要侧重于媒体操作,并在CPU和GPU上运行.它适用于所有新的Android手机和平板电脑,但不适用于其他操作系统.与OpenCL的一个重大区别是RenderScript总是处理调度,而不是软件.

谷歌的官方回答在OpenCL上实际上是不正确的,这使OpenCL社区中的许多人感到沮丧,并在逻辑上做出了一些重大反应.因此,请务必关注RenderScript和OpenCL - 我不希望这个问题被关闭,因为无意中被告知.

opencl renderscript

11
推荐指数
1
解决办法
1036
查看次数

强制Renderscript在CPU或GPU上运行(Atleast用于性能调整目的)

我有几个基本算法(DCT/IDCT和其他一些)在Nexus 10上移植和工作(正如预期的至少功能).由于这些算法是第一个实现,它们的执行时间当前运行到秒,这是可以理解的.

但是,考虑到Renderscript的体系结构,我发现这些算法可以在CPU或GPU上运行,具体取决于其他并行应用程序活动.例如,在我的应用程序中,有一个用于图像的滚动视图和该视图上的任何活动,实质上是将renderscript执行推送到CPU.如果没有活动,算法将在GPU上运行.我通过ARM-DS5 Mali/A15跟踪看到这个.

这种情况表现为调试/调整噩梦,因为算法在CPU(双核)与GPU(Mali)上运行时的性能增量大约为2秒,这使得很难衡量我的性能改进做我的算法代码.

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

performance android renderscript

10
推荐指数
1
解决办法
2956
查看次数

android使用Renderscript进行模糊效果崩溃导致A/libc:致命信号7(SIGBUS),代码2,故障地址0x9e6fa000 in tid 482(AsyncTask#1)

我使用模糊效果,同时应用从资源加载的位图,它按预期工作,而使用通用图像加载器下载图像并应用于位图它导致A/libc:致命信号7(SIGBUS),代码2,故障地址0x9d56e000在tid 31955(AsyncTask#1)

public class MyActivity extends ActionBarActivity {
private ImageView ivBackground;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_my);
    ivBackground = (ImageView) findViewById(R.id.iv_background);
    String imageUri = "https://upload.wikimedia.org/wikipedia/commons/c/c2/Macau-bus-1032.jpg";
    ImageLoader imageLoader = ImageLoader.getInstance();
    imageLoader.init(ImageLoaderConfiguration.createDefault(this));
    DisplayImageOptions options = new DisplayImageOptions.Builder()
            .showImageForEmptyUri(Color.TRANSPARENT)
            .showImageOnFail(Color.TRANSPARENT)
            .resetViewBeforeLoading(true)
            .cacheOnDisk(true)
            .cacheInMemory(false)
            .bitmapConfig(Bitmap.Config.RGB_565)
            .considerExifParams(true)
            .displayer(new FadeInBitmapDisplayer(300))
            .build();

    imageLoader.displayImage(imageUri, ivBackground, options, new SimpleImageLoadingListener() {


        @Override
        public void onLoadingComplete(final String imageUri, View view, final Bitmap loadedImage) {
Bitmap bmpTest = BitmapFactory.decodeResource(getResources(), R.drawable.test);
//final Bitmap cropedBitmap = Bitmap.createBitmap(bmpTest, 0, 0, bmpTest.getWidth() / 2, …
Run Code Online (Sandbox Code Playgroud)

android bitmap renderscript android-asynctask

10
推荐指数
0
解决办法
641
查看次数

有效模糊相机预览

到目前为止我尝试过的:


将每个帧转换为位图,使用将其模糊并将其放入ImageView相机预览前面.显然太慢了 - 比如1 fps.


然后我开始使用RenderScript,它会模糊每一帧,处理结果应放在TextureView封面相机预览中.

该方法的基本代码和平:

使用BlurFilter

ScriptIntrinsicBlur.create(rs, Element.RGBA_8888(rs)).apply {
    setRadius(BLUR_RADIUS)
}
private val yuvToRgb = ScriptIntrinsicYuvToRGB.create(rs, Element.RGBA_8888(rs))
private var surface: SurfaceTexture? = null

private fun setupSurface() {
    if (surface != null) {
        aBlurOut?.surface = Surface(surface)
    }
}

fun reset(width: Int, height: Int) {
    aBlurOut?.destroy()

    this.width = width
    this.height = height

    val tbConvIn = Type.Builder(rs, Element.U8(rs))
            .setX(width)
            .setY(height)
            .setYuvFormat(android.graphics.ImageFormat.NV21)
    aConvIn = Allocation.createTyped(rs, tbConvIn.create(), Allocation.USAGE_SCRIPT)

    val tbConvOut = Type.Builder(rs, Element.RGBA_8888(rs)) …
Run Code Online (Sandbox Code Playgroud)

camera android blur renderscript

10
推荐指数
1
解决办法
3026
查看次数

如何使用Allocations将数组值传入和传出Android RenderScript

我最近一直在使用RenderScript,目的是创建一个程序员可以轻松使用的API,类似于Microsoft Accelerator的工作方式.

我现在遇到的麻烦是因为我想要在RenderScript层中传递值并让所有内容以最有效的方式运行,这是我的源代码的摘录到目前为止:

    int[] A = new int[10];
    int[] B = new int[10];

    for (int i = 0; i < 10; i++) {
        A[i] = 2;
        B[i] = i;
    }
    intAdd(A, B);
Run Code Online (Sandbox Code Playgroud)

这只是创建两个基本数组并用值填充它们并调用将它们发送到RenderScript的函数.

 private void intAdd(int[] A, int[] B) {
    RenderScript rs = RenderScript.create(this);
    ScriptC_rsintadd intaddscript = new ScriptC_rsintadd(rs, getResources(), R.raw.rsintadd);
    mScript = intaddscript;

    for(int i = 0; i < A.length; i++) {
    setNewValues(mScript, A[i], B[i]);
    intaddscript.invoke_intAdd();
    int C = getResult(mScript);
    notifyUser.append(" " + C);
    }
}

    public void setNewValues(Script …
Run Code Online (Sandbox Code Playgroud)

java android renderscript

9
推荐指数
1
解决办法
3242
查看次数

我们什么时候(真的)使用RenderScript?

我似乎无法找到何时使用的明确答案RenderScript

文档说我们应该在进行一些计算或使用图像时使用它.这不是特别清楚,特别是有图像的部分.

有人可以给我一些实用的建议吗?

例如,

  1. 他们在谈论什么计算机?

  2. 什么时候我们应该在有其他方法(或工厂)时使用RenderScript处理Bitmap,我们可以在这种场合成功使用?

  3. RenderScript编码游戏时仅限于使用情况?

android renderscript

9
推荐指数
1
解决办法
1014
查看次数

如何使用ScriptIntrinsicYuvToRGB(将byte [] yuv转换为byte [] rgba)

我有byte[] yuvByteArray(540x360图像从Camera.PreviewCallback.onPreviewFrame方法中捕获并转储到assets/yuv.bin文件中).我想转换byte[] yuvbyte[] rgba数组,使用以下代码(基于LivePreview android示例).

但是我收到outBytes了在forEach之后填充零的rgba数组并将out分配复制到outBytes.我的代码出了什么问题?


package hellorender;        
import android.app.Activity; 
import android.content.res.AssetManager;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.v8.renderscript.Allocation;
import android.support.v8.renderscript.Element;
import android.support.v8.renderscript.RenderScript;
import android.support.v8.renderscript.ScriptIntrinsicYuvToRGB;
import android.support.v8.renderscript.Type;
import android.widget.ImageView;
import hellorender.R;

import java.io.IOException;
import java.io.InputStream;

public class HelloRenderActivity extends Activity {

    public static final int W = 540;
    public static final int H = 360;
    private RenderScript rs;
    private ScriptIntrinsicYuvToRGB yuvToRgbIntrinsic;

    @Override
    protected void onCreate(Bundle savedInstanceState) { …
Run Code Online (Sandbox Code Playgroud)

android renderscript

9
推荐指数
1
解决办法
8580
查看次数

ProGuard上的android.support.v8.renderscript错误

当我做ProGuard时,我使用Blurry它给了我:

Error loading RS jni library: java.lang.UnsatisfiedLinkError: 

android.support.v8.renderscript.l: Error loading RS jni library: java.lang.UnsatisfiedLinkError: JNI_ERR returned from JNI_OnLoad in "/data/app/com.app.app-2/lib/arm/librsjni.so"
at android.support.v8.renderscript.RenderScript.a(SourceFile:1347)
at android.support.v8.renderscript.RenderScript.b(SourceFile:1504)
at android.support.v8.renderscript.RenderScript.a(SourceFile:2454)
at jp.wasabeef.blurry.internal.Blur.rs(SourceFile:62)
at jp.wasabeef.blurry.internal.BlurTask$1.run(SourceFile:61)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
Run Code Online (Sandbox Code Playgroud)

android blurry proguard renderscript android-proguard

9
推荐指数
1
解决办法
1954
查看次数