Du kannst versuchen den Abstand der Notify calls von 200ms zu erhoehen und die OnSnapshot zu optimieren (Bspw. anstelle von macros nen enum in der MsgHdr.h benutzen damit der switch vom Compiler optimiert werden kann)
Falls das noch jemand verfolgt, hab mal nen kleines Programm geschrieben was die Arbeit des konvertierens uebernimmt.
Code:
using System;
using System.IO;
using System.Text.RegularExpressions;
namespace ConvertSnapshot
{
class Program
{
static void Main(string[] args)
{
using(StreamWriter sw = File.CreateText("Snapshot.new.txt") )
using(StreamReader sr = File.OpenText("Snapshot.txt"))
{
sw.WriteLine("enum Snapshot {");
string line;
Regex regEx = new Regex(@"\s+");
char[] seperator = { ' ' };
while((line = sr.ReadLine()) != null)
{
line = line.Trim();
if( line.IndexOf("#define") == 0 )
{
// remove #define and any trailing whitespace
line = line.Substring(7).TrimStart();
// isolate the define
string[] components = regEx.Replace(line, " ").Split(seperator);
line = components[0] + ",";
}
if (!String.IsNullOrWhiteSpace(line))
sw.WriteLine(line);
}
sw.WriteLine("};");
}
}
}
}
Einfach alle Snapshot defines in ne Snapshot.txt kopieren und dann aus der Snapshot.new.txt in die MsgHdr.h kopieren (noch das letzte Komma entfernen, war mir jetzt zu doof das mit zu beruecksichtigen)
Weitere Anmerkung: Mit Pakettypen in form eines enums koennte man die MessageMap der exen theoretisch in ein Array konvertieren (was wiederrum THEORETISCH die Zugriffszeit verringert)
Weiterer Nachtrag: Ein weiteres Ding was mit Performancetechnisch einfaellt ist die Debug Info die scheinbar jeder mit reincompiled, ohne kriegt man sogar mit vs03 relativ kleine exen hin (siehe
)