我有一个关于带有 rs_script_call_t* 参数的 Android Renderscript rsForEach 函数如何工作的问题。在示例中,仅使用另一个(简单的)rsForEach 函数,因此这对我没有帮助。我想更改数组的 xStart 和 xEnd 并尝试不同的 RS_FOR_EACH_STRATEGY。我知道我必须构造一个 rs_script_call_t 结构并将字段设置为正确的值。但是,任何使用此 rsForEach 调用的尝试都会导致 SIGSEGV 和核心转储。
在 rs_script_call 结构中(在 rs_math.rsh 中):
- xStart、xEnd、yStart、yEnd、zStart、zEnd 值指的是什么?索引还是指针?
- arrayStart 和 arrayEnd 值指的是什么?索引还是指针?
- 这些的默认值是多少?
是否有更多文档(或示例)解释如何正确使用 rsForEach 函数和 rs_script_call_t* 参数?
x/y/z/start/end 值是计算脚本正在处理的内存分配的索引。该结构可以将 rsForEach 调用限制为分配的子区域。
例如,对于 640x480 的分配,您可以定义 xStart = 100; x结束 = 200; y开始 = 100; yEnd = 200。然后 foreach 调用将在分配的 100x100 区域上启动。
arrayStart 和 arrayEnd 目前尚未使用,但为未来版本定义,将支持分配中的数组维度。
默认值未定义,您需要在结构中定义自己的值。如果不使用该结构,则 rsForEach 调用将作用于整个内存分配。
在 Honeycomb 中使用此功能时,有一个已知错误会导致崩溃,因此这可能是您的问题。它已在 ICS 中修复。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)