4

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 の値は何を参照していますか? インデックスまたはポインター?
  • これらのデフォルト値は何ですか?

rs_script_call_t* 引数で rsForEach 関数を適切に使用する方法を説明するドキュメント (または例) は他にありますか?

4

1 に答える 1

1

x/y/z/start/end の値は、計算スクリプトが処理しているメモリ割り当てのインデックスです。構造体は、rsForEach 呼び出しを割り当てのサブ領域に制限できます。

たとえば、640x480 の割り当ての場合、xStart = 100; と定義できます。xEnd = 200; yStart = 100; yEnd = 200. foreach 呼び出しは、割り当ての 100x100 領域で起動します。

現在、arrayStart と arrayEnd は使用されていませんが、割り当てで配列次元をサポートする将来のリリース用に定義されています。

デフォルト値は未定義です。構造体で独自の値を定義する必要があります。構造体を使用しない場合、rsForEach 呼び出しはメモリ割り当て全体で機能します。

Honeycomb でこれを使用するとクラッシュする既知のバグがあるため、これが問題である可能性があります。ICS で修正されました。

于 2011-11-22T01:26:55.667 に答える