【发布时间】:2014-01-27 02:30:46
【问题描述】:
我是 RenderScript 的新手,但对于来自 Java 层的调用的阻塞/非阻塞性质仍然不太了解。一般的问题是:哪些情况会阻塞代码并允许 RenderScript 完成。特别是:
- 从 Java 中,我使用
forEach_kernel()调用了一个内核,这并没有阻塞 - 我必须添加一个额外的Allocation.copyTo()以便我可以使用结果。还有其他方法吗? - 我在某处读到,如果有 2 个内核,则调用第二个内核将阻塞,直到第一个内核完成。什么条件会导致这种情况 - 可能仅在处理相同分配时?
- 可调用函数会阻塞 a) 彼此,b) 内核吗?特别是,我有一个自定义初始化程序可调用函数,我需要准备一些数据,稍后将由内核使用。这种准备可能需要一些时间,所以我想知道在 Java 中调用
script.invoke_somefunc()然后立即调用script.forEach_kernel()是否危险?
【问题讨论】:
标签: android renderscript