我需要在渲染脚本根方法中使用大型数据缓冲区来处理某些数据。例如,用于存储临时值的大型float数组。出于这个原因,我只是在堆栈上放了一个大数组。只要数据缓冲区不会太大,这就可以正常工作
我的每个root调用都需要自己的缓冲区来进行计算。如果我正确地获得它,root方法可以并行运行,因此不可能从java分配这个缓冲区,因为这将在所有正在运行的根方法之间共享,对吧?
知道如何在root方法中分配或访问本地数据缓冲区吗?或者是不可能的?
可用尺寸接缝的大小取决于设备/ Android版本。有没有办法在当前设备上获得堆栈大小?
(是的,它可能可以进一步分割工作,以便它需要更少的缓冲区空间,但这将完全改变当前运行的算法,我会首先尝试找到另一种解决方案。)
答案 0 :(得分:0)
RenderScript不支持在脚本本身内分配内存。它全部由Java(或NDK)方管理和绑定。