5

RenderScript が実際にコードを並列化しているかどうかを確認する方法に関するドキュメントが見つからないようです。CPU または GPU が使用されているかどうか、およびディスパッチされたスレッドの数を知りたいです。

私が見つけた唯一のものは、このバグレポートです: http://code.google.com/p/android/issues/detail?id=28662

著者は、スクリプトに rsForEach を配置すると、次のデバッグ出力を指すことでシリアル化されたと述べています。

01-02 00:21:59.960: D/RenderScript(1256): = 0  0x0
01-02 00:21:59.976: D/RenderScript(1256): = 1  0x1

LogCat で同様の文字列を検索しようとしましたが、一致するものを見つけることができませんでした。

何かご意見は?

更新:実際、私はそれを理解したようです。私のLogCat fooは本来あるべきほど良くないようです。アプリケーション情報でデバッグ出力をフィルタリングしたところ、次のような行が見つかりました。

02-26 22:30:05.657: V/RenderScript(26113): rsContextCreate dev=0x5cec0458
02-26 22:30:05.735: V/RenderScript(26113): 0x5d9f63b8 Launching thread(s), CPUs 2
4

3 に答える 3

2

これは、使用できる CPU の数のみを示します。これは、スレッド数や使用されているプロセッサを示すものではありません。設計上、RS はこの情報を公開しないようにしています

一般に、rsg* や time 関数などの「シリアル」関数を呼び出さない限り、RS は利用可能なすべての CPU コアを使用します。スクリプトが GPU から CPU にパントされる結果となる基準については、各ベンダーの GPU の能力によって異なります。

あなたが参照したバグは4.1で修正されました

于 2013-02-27T06:56:41.167 に答える