0

産業オートメーション アプリケーションでは、ミリ秒単位でデータをキャプチャして表示する必要があります。

データ グリッド コントロールと DataTable オブジェクトの間にデータ バインディングがあります。グリッドに表示する必要がある約 300 のレコードがあります。そのため、レコードを取得するたびに 300 レコードを更新します。

       TabularViewTable tvt = _presenter.WorkItem.Items.Get<TabularViewTable> ("TabularViewTable");

        foreach (DataRow row in tvt.Rows)
        {
            row["Value"] = GetDataFast(row["Name"]);                
        }

10 台のデバイスを接続した後、CPU 使用率は 15% になります。DataTable またはカスタム データ ソースを使用してパフォーマンスを向上させる方法

よろしく、

クリシュギー

4

2 に答える 2

2

You should seriously reconsider your user interface:

  • Is it really necessary to display 300 values? Ordinary human cannot concentrate on more than 7 things simultaneously,
  • Even if you lower number of parameters, there is frequency of refresh that seems to high to be practical.

You probably should do following:

  • create a dashboard with graphical representation of most important data (graphs, gauges, ...)
  • create drill down forms and reports, so that user can see what happened with system in any given period
于 2008-10-10T15:05:29.920 に答える
0

手始めに、DataTable から DataReader に切り替える必要があります。これは、はるかに高速であるためです。次に、遅延読み込みアーキテクチャを見ていきます。50 個のエントリをバインドし、一番下までスクロールすると、さらに 50 個のエントリをバインド/ロードします。

于 2009-05-13T17:27:27.893 に答える