我希望用更高效的东西替换C atan2功能。 RenderScript确实提供atan2,包括带矢量的版本。
我发现的示例演示了如何从Java调用RenderScript。是否可以从C代码调用RS?一个例子会很棒。
由于
答案 0 :(得分:1)
过去有可能,尽管NDK中的RS支持已经被删除了一段时间。它仍然可能,但即使NDK样本也不再包含RS样本。从Android 7开始,您可以尝试使用" Single Source RenderScript",描述here,这应该可以从C / C ++代码中获得。
使用RS可能会看到的效率提升是由于一些可能的原因(非常依赖于平台):
atan2
)可以并行化操作。atan2
作为示例,RS核心中的函数可能比标准C库更优化,因为它可能使用协处理器,或者它可能使用特定于架构的优化实现(汇编) )。所有这些,在RS空间(Allocation
)之间将数据移回非RS代码时,您的代码可能会受到I / O命中。
答案 1 :(得分:0)