Ich hab mir mal erlaubt, deinen Code zu formatieren – das ist nämlich sehr anstrengend zu lesen – und die ganzen Redundanzen zu entfernen. Hab außerdem Variablen aussagekräftiger benannt, ungenutzte entfernt, und noch ein paar Bemerkungen in den Code geschrieben. (Getestet habe ich es aber nicht, das war mir jetzt zu viel Aufwand). Das wird jetzt an der Performance nichts ändern, aber man kann zumindest besser damit arbeiten.
Vielleicht solltest du noch mal genau beschreiben, wo das Problem ist? Dein letzter Beitrag verwirrt mich. 1% CPU-Auslastung ist doch kein Performance-Problem? Und bist du überhaupt sicher, dass die 1% von diesem Code stammen? Letztlich ist hier auch entscheidend,
wie der Code aufgerufen wird – selbst wenn dein Code nur 1+1 addieren würde, würde er, in einer pausenlosen Schleife aufgerufen, 100% CPU-Last auf einem Kern erzeugen.
Ich würde mal den
Sampling Profiler runterladen, da sieht man sehr schnell, wo der Flaschenhals ist. Dazu musst du dein Projekt aber mit detailliertem Mapping und Debug-Informationen (kann man in den Projektoptionen einstellen) kompilieren.