複雑な数学的表現に基づいてランダムな画像を生成するAndroid Appを作成しています。ピクセルの色は、その位置と選択された式に依存します。 (私は "ランダムアート"を生成する多くのiPhoneアプリを見てきましたが、比較的少数のAndroidアプリを見ていました)SurfaceViewを使用して1つの複合画像を描画する方法
Nexus Sデベロッパーの携帯電話で画像を描くには5〜15秒かかります。
UIスレッドを応答し続けるために、これはSurfaceView
クラスの目的のようです。 SurfaceView
のほとんどすべての例は、アニメーションを扱い、単一の複雑な画像ではありません。画像が描画/レンダリングされたら、ユーザーまで
のように変更することはありません。SurfaceView
正しいコンポーネントを使用しますか?もしそうなら、SurfaceView
またはその内部スレッドから、画像のレンダリングが終了したときにコールバックを受け取ることはできますか?コールバックは、私がそれが高解像度の画像アートの低解像度と塊状のバージョンを切り替えることは大丈夫だと知っている?
SurfaceView
には、単一画像の複雑なレンダリングに適した代替品がありますか? (アニメーションではありません)
乾杯!
なぜopenGlを使用しないのですか? – slayton
通常のSurfaceViewよりもOpenGL(GLSurfaceViewを前提とする)を使用する利点は何ですか? –
減速はレンダリングではなく計算にあるためです。任意の数学的計算をGLSLシェーダ言語にオフロードすることは難しいです:)。 NDKルートに行くか、RenderScriptのCompute APIを使う方が良いかもしれません。 –