1 つのグラフに 2 つのレイヤーのグラフを描画していますCustomPaint
。1 つ目は、2 つ目のレイヤーの半分以上を塞ぎます。
問題
現在、最初のデータをペイントし、次に 2 つPaint
の を使用して 2 番目のデータをそのblendMode
セットでペイントします。
これにより、2 つのデータのオーバーレイが作成され、ブレンドされます。しかし、ブレンドは必要ありません。違いの領域を 2 番目Paint
の 、つまり補完的な合成ビューを使用してペイントするだけです。
パフォーマンスの面では、遮られた部分の描画を避けるために、ブレンドに内部最適化があるかどうかはわかりません。
参考画像
これらのデータ グラフはすべてブレンドされていることに注意してください。ただし、オーバーラップした部分はパフォーマンスのためにまったく描画されません。
試み
新しいパスを使用して違いを描画することもできますが、これが最も簡単な方法かどうかはわかりません。
確認RepaintBoundary
しましたが、これはまれなデータ変更を処理するウィジェットであり、ここで必要なものではありません。
同様Overlay
にスタンドアロンのウィジェットのように見えるので、 に合わせる方法がわかりませんCustomPaint
。
質問
必要なオクルージョンを実現する標準的な方法はありますか?