le 06-16-2014 04:38 AM
Bonjour,
Je vous expose mon probleme.
J'ai developpe une application sous Win7 et VS2010 environnement C# et wpf.
Je dois afficher une courbe en temps réel sur une periode d'une heure avec un nouveau point toutes les 100ms (soit max 36000).
J'utilise l'objet graph NI et je dois également afficher le temps sur l'axe des abcisses. les graph sont "databinder"
1er methode : J'ai utilser un analogWaveform mais au bout de 20000 points le rafraichissement commence a ralentir.
2eme methode : J'ai vu sur le site la page optimisation des graph donc je passe par un objet ChartCollectionAnalogWaveform. Je le dimensionne a 36000 et effectue un append toutes les 100ms
//ChartcollectionAnalogWaveform[] LengthCurveChart ; //toutes les 100 ms NationalInstruments.AnalogWaveform<double> __waveLength = new AnalogWaveform<double>(1); DateTime[] __time =new DateTime[1]; __waveLength.Timing = WaveformTiming.CreateWithRegularInterval(new TimeSpan(0, 0, 0, 0, 100), new DateTime(2000, 1, 1, 0, 0, 0)); LengthCurveChart[0].Append(__waveLength);
Mais sur cette derniere methode j'ai un plantage au bout de quelques minutes ("Tha data store was modified ... Buffer<DateTime>".
Je n'ai pas trouver d'exemple sur le net avec des chartCollectionAnalogWaveform et/ou des affichage avec l'horodatage en abcisses.
J'aimerais savoir comment faire quel objet ou quellle methode utiliser ?
Merci
Johan