2008-10-10 7 views
0

Dans notre application d'automatisation industrielle, nous devons capturer et afficher les données en millisecondes.DataTable + DataGrid Data Performance Agains de performance de données Objet de données personnalisé + Grille de données

Nous avons une liaison de données entre le contrôle de grille de données et un objet DataTable. Nous avons environ trois cents enregistrements qui doivent être affichés dans la grille. Nous mettons donc à jour les 300 enregistrements chaque fois que nous obtenons les enregistrements.

Exemple

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

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

Après le raccordement des dispositifs 10, l'utilisation du processeur va de 15%. Comment améliorer les performances en utilisant DataTable ou à l'aide d'une source de données personnalisée

Cordialement,

Krishgy

Répondre

2

Vous devriez revoir sérieusement votre interface utilisateur:

  • Est-il vraiment nécessaire d'afficher 300 valeurs ? L'humain ordinaire ne peut pas se concentrer sur plus de 7 choses simultanément,
  • Même si vous abaissez le nombre de paramètres, il y a une fréquence d'actualisation qui semble élevée pour être pratique.

Vous devriez probablement faire ce qui suit:

  • créer un tableau de bord avec une représentation graphique des données les plus importantes (graphiques, jauges, ...)
  • créer drill down formulaires et rapports, de sorte que l'utilisateur peut voir ce qui s'est passé avec le système dans une période donnée
0

Pour commencer, vous devez passer d'un DataTable à un DataReader, car il est beaucoup plus rapide. Deuxièmement, je voudrais regarder une architecture de chargement paresseux. Lier 50 entrées et quand elles défilent vers le bas Lier/Charger une autre 50.

Questions connexes