WPF画像に多くのマーカーを表示する必要があります。マーカーには、線、円、正方形などがあり、数百個ある場合があります。
画像ソースとマーカーデータの両方が数秒ごとに更新されます。マーカーは画像上の特定のピクセルに関連付けられており、そのサイズは画面に対して絶対的である必要があります(つまり、画像を移動すると、マーカーも一緒に移動する必要がありますが、ズームインすると、マーカーと同じスペースを取る必要があります。前と同じように画面)。
現在、これを使用して実装していAdornerLayer
ます。このソリューションにはいくつかの問題がありますが、最も重要な問題は、120個のそのようなマーカーでもUIが負荷の下でうまく機能しないことです。
これを実装するための最良の方法は何でしょうか?私は2つの解決策を考えました:
Canvas
追加されたすべてのマーカーではなく、ある範囲のマーカーに対して一度に継承し、無効になっていることを確認します画像を保持するコントロールを作成し、そのコントロールを変更し
OnDraw
てすべてのマーカーを描画します
同様の問題を経験した人からのアドバイスをいただければ幸いです。