From 9c41df3665178a7ec84fab74df3bd3e6166a3fe6 Mon Sep 17 00:00:00 2001 From: tzim Date: Fri, 22 Nov 2013 11:06:37 +0000 Subject: [PATCH] * Conduite.cs: Optimisation : acces direct : pas de conversion 'AsReadOnly' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * SequenceurLineaire.cs: Optimisation : Retrait d'un controle inutile. * SeqLinUI.cs: Optimisation : Pas de lecture du nom de chaque tirette a chaque MAJ : on stocke localement et on change juste quand nécessaire * HelperFunctions.cs: Classe de mesure de temps. Innutilisée, normalement --- DMX-2.0/Conduite.cs | 4 ++-- DMX-2.0/HelperFunctions.cs | 17 +++++++++++++++++ DMX-2.0/SeqLinUI.cs | 4 +++- DMX-2.0/SequenceurLineaire.cs | 6 ++++-- 4 files changed, 26 insertions(+), 5 deletions(-) diff --git a/DMX-2.0/Conduite.cs b/DMX-2.0/Conduite.cs index 46e24ff..9dc22a3 100644 --- a/DMX-2.0/Conduite.cs +++ b/DMX-2.0/Conduite.cs @@ -239,7 +239,7 @@ namespace DMX2 else if(master != 100){ foreach (var c in circuits) { int val = 0; - foreach (var seq in Sequenceurs) { + foreach (var seq in sequenceurs) { val = Math.Max (val, seq.ValeurCircuit (c)); } c.ValeurCourante = val * master / 100; @@ -247,7 +247,7 @@ namespace DMX2 } else { foreach (var c in circuits) { int val = 0; - foreach (var seq in Sequenceurs) { + foreach (var seq in sequenceurs) { val = Math.Max (val, seq.ValeurCircuit (c)); } c.ValeurCourante = val; diff --git a/DMX-2.0/HelperFunctions.cs b/DMX-2.0/HelperFunctions.cs index cb4d0c7..87f9b2c 100644 --- a/DMX-2.0/HelperFunctions.cs +++ b/DMX-2.0/HelperFunctions.cs @@ -7,6 +7,23 @@ using System.Xml; namespace DMX2 { + class TimerHelper:IDisposable{ + string text; + DateTime st; + public TimerHelper (string _text) + { + text=_text; + st= DateTime.Now; + } #region IDisposable implementation + public void Dispose () + { + Console.WriteLine("{0} -> {1}",text,DateTime.Now - st); + } + #endregion + + + } + public static class XmlHelpers { public static string TryGetAttribute (this XmlElement element, string name, string defaultval) { diff --git a/DMX-2.0/SeqLinUI.cs b/DMX-2.0/SeqLinUI.cs index 3d1a9c6..29f9462 100644 --- a/DMX-2.0/SeqLinUI.cs +++ b/DMX-2.0/SeqLinUI.cs @@ -225,6 +225,7 @@ namespace DMX2 Dictionary tirettes = new Dictionary(); + Dictionary tirettesNames = new Dictionary(); static VScale NouvelleTirette () { @@ -335,6 +336,7 @@ namespace DMX2 foreach (Circuit c in sequenceur.Circuits) { tirettes[c] = tirette = NouvelleTirette(); + tirettesNames[c] = "sclTirette"; zoneWid.Add(tirette); fx = ( zoneWid[tirette] as Fixed.FixedChild); fx.X = xpos; fx.Y = ypos; @@ -391,7 +393,7 @@ namespace DMX2 tname="sclTiretteT"; else tname="sclTirette"; - if (tirettes[c].Name != tname) tirettes[c].Name = tname; + if (tirettesNames[c] != tname) tirettesNames[c] = tirettes[c].Name = tname; } seqMasterScale.Value = sequenceur.Master; updating=false; diff --git a/DMX-2.0/SequenceurLineaire.cs b/DMX-2.0/SequenceurLineaire.cs index 2c9fcb2..e6d2bcc 100644 --- a/DMX-2.0/SequenceurLineaire.cs +++ b/DMX-2.0/SequenceurLineaire.cs @@ -171,6 +171,7 @@ namespace DMX2 List circuitsSeq = new List (); + Dictionary valeurscourantes = new Dictionary (); Dictionary valeursinitiales = new Dictionary (); Dictionary valeurschangees = new Dictionary (); @@ -280,8 +281,9 @@ namespace DMX2 public int ValeurBruteCircuit (Circuit c) { - if (!circuitsSeq.Contains (c)) - return 0; + // Appelé par l'interface, donc normalement, uniquement sur les circuits qui composent le sequenceur + //if (!valeurscourantes.ContainsKey (c)) + // return 0; return valeurscourantes [c]; }