10

Nexus 10 では、いくつかの基本的なアルゴリズム (DCT/IDCT およびその他のいくつか) を移植して動作させています (少なくとも機能的には期待どおり)。

ただし、Renderscript のアーキテクチャを考えると、これらのアルゴリズムは、他の並列アプリケーション アクティビティに応じて CPU または GPU で実行されることがわかります。たとえば、私のアプリケーションでは、画像のスクロールビューとこのビューのアクティビティがあり、基本的にレンダリング スクリプトの実行を CPU にプッシュします。アクティビティがない場合、アルゴリズムは GPU で実行されます。これは、ARM-DS5 Mali/A15 トレースを介してライブで確認できます。

アルゴリズムが CPU (デュアル コア) と GPU (Mali) で実行されたときのパフォーマンス デルタは 2 秒程度であり、パフォーマンスの改善を測定することが非常に困難であるため、この状況はデバッグ/チューニングの悪夢として現れています。私のアルゴリズムコードでやっています。

この問題を回避する方法はありますか?考えられる解決策の 1 つは、少なくともレンダリング スクリプト コードのターゲット タイプ (ARM、GPU) を選択するためのデバッグ構成オプションを用意することですか?

4

1 に答える 1