aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2020-02-11 19:35:46 +0200
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2020-02-11 19:35:46 +0200
commita0316b83d125c830ea042087315df4c3a9ec5d0b (patch)
treeb1c0a67333185ac4002c18c860667dadf4c7ee9a
parent28761203106802dbd8f01940ce90d872d81b6004 (diff)
downloadTango-a0316b83d125c830ea042087315df4c3a9ec5d0b.tar.gz
Tango-a0316b83d125c830ea042087315df4c3a9ec5d0b.zip
Yet another fix for RealTimeGraphX.
-rw-r--r--Software/Visual_Studio/SideChains/RealTimeGraphX-master/RealTimeGraphX/GraphController.cs52
1 files changed, 33 insertions, 19 deletions
diff --git a/Software/Visual_Studio/SideChains/RealTimeGraphX-master/RealTimeGraphX/GraphController.cs b/Software/Visual_Studio/SideChains/RealTimeGraphX-master/RealTimeGraphX/GraphController.cs
index 4934a9013..f5fed3fe4 100644
--- a/Software/Visual_Studio/SideChains/RealTimeGraphX-master/RealTimeGraphX/GraphController.cs
+++ b/Software/Visual_Studio/SideChains/RealTimeGraphX-master/RealTimeGraphX/GraphController.cs
@@ -219,30 +219,46 @@ namespace RealTimeGraphX
{
try
{
- var pending_list = _pending_series_collection.BlockDequeue();
+ List<List<PendingSeries>> pending_lists = new List<List<PendingSeries>>();
- foreach (var pending_series in pending_list)
+ if (_pending_series_collection.Count == 0)
{
- if (pending_series.IsClearSeries)
- {
- _pending_series_collection = new GraphDataQueue<List<PendingSeries>>();
- _to_render.Clear();
- break;
- }
+ Thread.Sleep(TimeSpan.FromSeconds(1));
+ continue;
+ }
- if (_to_render.ContainsKey(pending_series.Series))
- {
- var s = _to_render[pending_series.Series];
- s.XX.AddRange(pending_series.XX);
- s.YY.AddRange(pending_series.YY);
- }
- else
+ while (_pending_series_collection.Count > 0)
+ {
+ var pending_list = _pending_series_collection.BlockDequeue();
+ pending_lists.Add(pending_list);
+ }
+
+ foreach (var pending_list in pending_lists)
+ {
+ foreach (var pending_series in pending_list)
{
- _to_render[pending_series.Series] = pending_series;
+ if (pending_series.IsClearSeries)
+ {
+ _pending_series_collection = new GraphDataQueue<List<PendingSeries>>();
+ _to_render.Clear();
+ break;
+ }
+
+ if (_to_render.ContainsKey(pending_series.Series))
+ {
+ var s = _to_render[pending_series.Series];
+ s.XX.AddRange(pending_series.XX);
+ s.YY.AddRange(pending_series.YY);
+ }
+ else
+ {
+ _to_render[pending_series.Series] = pending_series;
+ }
}
}
- if (DateTime.Now > _last_render_time.AddMilliseconds(RefreshRate.TotalMilliseconds) && _to_render.Count > 0)
+ if (_to_render.Count > 0)
+ //if (DateTime.Now > _last_render_time.AddMilliseconds(RefreshRate.TotalMilliseconds) && _to_render.Count > 0)
{
GraphDataPoint min_x = _range.MaximumX - _range.MaximumX;
GraphDataPoint max_x = _range.MaximumX;
@@ -256,7 +272,6 @@ namespace RealTimeGraphX
}
else
{
- Thread.Sleep(RefreshRate);
continue;
}
@@ -350,7 +365,6 @@ namespace RealTimeGraphX
catch (Exception ex)
{
Debug.WriteLine($"Error in RealTimeGraphX:\n{ex.ToString()}");
- Thread.Sleep(RefreshRate);
}
}
else