Android 三角函数的Renderscript内部函数

Android 三角函数的Renderscript内部函数,android,trigonometry,renderscript,intrinsics,Android,Trigonometry,Renderscript,Intrinsics,在developer.android.com上,有一些基本函数可以对数组中的每个元素进行乘法和加法,如: void forEachDstOver(Allocation ain, Allocation aout, Script.LaunchOptions opt) Sets dst = dst + src * (1.0 - dst.a) void forEachMultiply(Allocation ain, Allocation aout) Sets dst = src * dst

在developer.android.com上,有一些基本函数可以对数组中的每个元素进行乘法和加法,如:

void    forEachDstOver(Allocation ain, Allocation aout, Script.LaunchOptions opt)
Sets dst = dst + src * (1.0 - dst.a)
void    forEachMultiply(Allocation ain, Allocation aout)
Sets dst = src * dst
void    forEachMultiply(Allocation ain, Allocation aout, Script.LaunchOptions opt)
Sets dst = src * dst
但是我找不到三角函数。我将我的一些opencl代码移植到android上,在一个n体基准测试中,我需要快速进行平方根求逆。我假设这个函数有更好的计算数据比,应该写在某个地方,但我找不到。目前,对于使用bruteforce的4096个粒子,不带内部函数的renderscript版本75-85 ms的性能几乎是串行java代码350-400 ms的5倍


我如何制作一个使用GPU、CPU、DSP的新renderscript内部版本?

这就是您要寻找的:我发现,没有使用pragma rs_fp_,应用程序放松并崩溃。我认为这个问题有点误导。内部函数是一组固定的函数,因此不能使用自定义处理创建新函数。您将不得不为此编写自己的Renderscript代码,我认为您已经编写了,并且出于某种原因对此不满意?否则,你到底为什么要使用intrinsics?我正在考虑使用增强现实、流体模拟器、物体运动检测等等。。。。但我甚至不完全了解android的基本知识。在桌面上,即使是单线程版本的SIMD代码,性能也至少提高了3倍。也许桌面cpu的每核效率不如android中的SoC?也许在移动设备中,串行标量版本的100x性能并没有桌面上那个么大的空间?100x不太可能,但若不看你们的代码,很难说得更多。你会把它寄出去吗?