* Conduite.cs: Optimisation : acces direct : pas de conversion

'AsReadOnly'

* 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
This commit is contained in:
tzim 2013-11-22 11:06:37 +00:00
parent 8e97ba0e62
commit 9c41df3665
4 changed files with 26 additions and 5 deletions

View file

@ -239,7 +239,7 @@ namespace DMX2
else if(master != 100){ else if(master != 100){
foreach (var c in circuits) { foreach (var c in circuits) {
int val = 0; int val = 0;
foreach (var seq in Sequenceurs) { foreach (var seq in sequenceurs) {
val = Math.Max (val, seq.ValeurCircuit (c)); val = Math.Max (val, seq.ValeurCircuit (c));
} }
c.ValeurCourante = val * master / 100; c.ValeurCourante = val * master / 100;
@ -247,7 +247,7 @@ namespace DMX2
} else { } else {
foreach (var c in circuits) { foreach (var c in circuits) {
int val = 0; int val = 0;
foreach (var seq in Sequenceurs) { foreach (var seq in sequenceurs) {
val = Math.Max (val, seq.ValeurCircuit (c)); val = Math.Max (val, seq.ValeurCircuit (c));
} }
c.ValeurCourante = val; c.ValeurCourante = val;

View file

@ -7,6 +7,23 @@ using System.Xml;
namespace DMX2 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 class XmlHelpers {
public static string TryGetAttribute (this XmlElement element, string name, string defaultval) public static string TryGetAttribute (this XmlElement element, string name, string defaultval)
{ {

View file

@ -225,6 +225,7 @@ namespace DMX2
Dictionary<Circuit,VScale> tirettes = new Dictionary<Circuit, VScale>(); Dictionary<Circuit,VScale> tirettes = new Dictionary<Circuit, VScale>();
Dictionary<Circuit,string> tirettesNames = new Dictionary<Circuit, string>();
static VScale NouvelleTirette () static VScale NouvelleTirette ()
{ {
@ -335,6 +336,7 @@ namespace DMX2
foreach (Circuit c in sequenceur.Circuits) { foreach (Circuit c in sequenceur.Circuits) {
tirettes[c] = tirette = NouvelleTirette(); tirettes[c] = tirette = NouvelleTirette();
tirettesNames[c] = "sclTirette";
zoneWid.Add(tirette); zoneWid.Add(tirette);
fx = ( zoneWid[tirette] as Fixed.FixedChild); fx = ( zoneWid[tirette] as Fixed.FixedChild);
fx.X = xpos; fx.Y = ypos; fx.X = xpos; fx.Y = ypos;
@ -391,7 +393,7 @@ namespace DMX2
tname="sclTiretteT"; tname="sclTiretteT";
else else
tname="sclTirette"; 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; seqMasterScale.Value = sequenceur.Master;
updating=false; updating=false;

View file

@ -171,6 +171,7 @@ namespace DMX2
List<Circuit> circuitsSeq = new List<Circuit> (); List<Circuit> circuitsSeq = new List<Circuit> ();
Dictionary<Circuit,int> valeurscourantes = new Dictionary<Circuit, int> (); Dictionary<Circuit,int> valeurscourantes = new Dictionary<Circuit, int> ();
Dictionary<Circuit,int> valeursinitiales = new Dictionary<Circuit, int> (); Dictionary<Circuit,int> valeursinitiales = new Dictionary<Circuit, int> ();
Dictionary<Circuit,bool> valeurschangees = new Dictionary<Circuit, bool> (); Dictionary<Circuit,bool> valeurschangees = new Dictionary<Circuit, bool> ();
@ -280,8 +281,9 @@ namespace DMX2
public int ValeurBruteCircuit (Circuit c) public int ValeurBruteCircuit (Circuit c)
{ {
if (!circuitsSeq.Contains (c)) // Appelé par l'interface, donc normalement, uniquement sur les circuits qui composent le sequenceur
return 0; //if (!valeurscourantes.ContainsKey (c))
// return 0;
return valeurscourantes [c]; return valeurscourantes [c];
} }