2011-08-02 9 views
0

私は描画するのに約2msかかる単純なARGB描画可能ファイルを持っていますが、0.5ms以下のビットマップと同じファイルを描画することができます(いくつかのクイックコード、私は実際にそれをオプションと考えることはできません)。 Drawableの描画速度を最適化する最適な方法は何ですか?Android Drawable Drawingのパフォーマンスですか?

答えて

1

ドロアブルの数と描画される回数によって異なります。少数の場合、キャンバスを使用してください(正確な数値はデバイスにも依存します)。Canvasを使用することをお勧めします。

多くの画像をクランクアウトしたい場合は、GLSurfaceViewを作成し、OpenGLを使用してアプリケーションに合わせたVBOを使って画像をレンダリングすることをお勧めします。また、コードの複雑さを犠牲にしてパフォーマンスが大幅に向上するため、このルートをダウンするとテクスチャシートを使用することをお勧めします。

しかし、これはその種類のアプリにも依存します。私の背景はゲーム開発中ですので、パフォーマンスを向上させるためにOpenGLを排他的に使用しています。単純なアプリ(androidifyのラインに沿ったもの)のためにCanvasはうまくいくはずです。 OpenGLの簡単なチュートリアルが必要な場合は、トピックに関するBergmanの一連の記事を参照することをお勧めします(googleはそのリンクを提供する必要があります)。 OpenGLの素晴らしいイントロです。

+0

AndroidのOpenGLESはGLUtilitiesをサポートしていません。この場合、凹面ポリゴンにはテッセレーションを使用できませんでした。また、2DをOpenGLで描画すると、スレッディングが問題になります。あなたはそれについて何かお勧めしますか? – Howard