我最近一直在使用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)