6

この質問は非常に開かれており、おそらくこの質問に対する答えはシステムによって異なりますが、平均して、異なる状態の大きな行列 (たとえば 128 要素) を表示する最良の方法はどれでしょうか?

  • セルごとに 1 つのコントロールを作成し、GUI ライブラリにすべてのイベントやものを処理させます (Windows 128 HWND:s の場合)。
  • 低レベルのグラフィックス プリミティブを使用してマトリックス全体を描画する

選択によってメモリ/CPUの性能に違いはありますか? 私のアプリケーションの状態の数はセルごとに 4 であるため、状態を表すにはそれぞれ 2 ビットが必要です。各セルは、状態に関連する画像で表されます。

4

1 に答える 1

3

確かに違いはあります。これと、これが基づいている仮定についても説明します。

  1. コントロールのコスト = コントロールのメモリ + コントロールのイベント ハンドラー + コントロールへの参照 + イベント パイプラインの 1 つの余分なコントロール

  2. セル マッピングごとの「厳密な」制御の利点。概念的にクリーンでシンプルなコードで、考えるのが最も簡単です。

  3. タイト マッピングのコスト : コントロールあたりのコストにセルの数を掛けます。

私が提案しようとしている代替案は、タイトなマッピングとルーズな "1 リング" マッピングとの間のコスト デルタが重要であると想定しています。

別の方法: 提示するマトリックス ビュー全体の範囲内でのみイベントに登録されるコントロールを 1 つ追加するだけで、ポインターの位置と対応するセルを決定するコードがあり、ユーザーに応じてそのセルのみを更新します。そこでのやり取り。

これの利点は、追加のコントロールを 1 つだけ追加することによる限界費用が得られることですが、マトリックス全体の相互作用を処理できるという利点があります。限界利益またはこのコントロールは、単一の厳密なコントロールよりもはるかに高くなります。アルドさん、よくあるパターンで難しすぎないので実装コストも安いです。

幸運を!

于 2013-01-27T06:34:21.443 に答える