6

Canvas.drawPath(path,paint) を使用すると、連続して Canvas.drawLine() を使用したり、代わりに Canvas.drawLines() を使用したりするよりも大幅に遅くなることがわかりました。正確なパフォーマンス データを提供することはできませんが、Nexus 10 では、path を使用すると描画が非常に遅くなる (<10 FPS) ことに気付きましたが、drawLines を使用するとはるかにスムーズになりました。実装が間違っているか、これのパフォーマンスを高速化するためのパラメーターがありますか? 今のところ、パフォーマンスが非常に低いため、drawPath() はまったく使用できません。

4

3 に答える 3

2

drawPath にも問題がありました (特に Nexus 10 で)。私の問題は、私が

strokePaint.setMaskFilter(new BlurMaskFilter(16f, BlurMaskFilter.Blur.NORMAL));

それはパフォーマンスを恐ろしいものにしました。Canvas.drawPath に対して 45 ミリ秒の実行。削除すると、実行時間が2〜4ミリ秒になりました

于 2014-02-21T03:22:21.467 に答える
2

drawPath() を複数回呼び出す必要がある場合は、drawPath() を呼び出す前に path.reset() を呼び出す必要があります。

于 2020-12-26T03:02:59.897 に答える