ちょっとした話: Visual Studio で C# を使用してレベル エディターを作成し、長い間編集されていなかったマップをインポートしています。これらのタイルマップには複数のレイヤーがあり、複数のタイルで構成されています。それらはすべて互いの上に表示されます。最後に、タイルを選択するための選択ボックスが必要です。
現在のアプローチ:タイル マップの各レイヤーのフォーム内に「パネル」オブジェクトを作成します。すべてのレイヤーを対応するパネルにロードしたら、すべてのパネルを互いにスタックし、すべてのレイヤーを次のレイヤーに「親」にします。Selectionbox パネルも最後に親を取得します。(なぜですか?これをしないと、一番上のレイヤーが背景をフォームに設定します。これは灰色です。2番目のレイヤーは表示されません)。したがって、次のようになります... SelectionBoxPanel -> Panel_3 -> Panel_2 -> Panel_1 -> BackgroundPanel.
問題: selectionBoxPanel のペイント イベントを呼び出すとき (シーン上を移動するとき)、すべての親パネルが再描画されます。明らかに、大量の CPU を消費し、レイヤー上のすべてのタイルが更新されます!
質問:別のファイル (シェーダー ファイルなど)、またはオブジェクト (パネルなど) など、これらのレイヤーのグラフィカルな表現に使用できるものはありますか?