WPF Performance – Was geht mich das auf dem User Interface überhaupt an?
Ein Thema, welches bei der Entwicklung von Software immer eine große Rolle spielt, ist unumstritten das Thema Performance. Auch wenn uns bei der Softwareentwicklung mit .NET im WPF Umfeld schon sehr viel Arbeit bezüglich gutem Laufzeitverhalten durch Windows abgenommen wird, gibt es eine Vielzahl von Performance Aspekten, welche bei der Implementierung beachtet werden sollten.
Doch was wird eigentlich in der Informatik durch das Wort “Performance” oder „Performanz“ beschrieben? Allgemein wird das Wort Performance (deutsch: Leistung) verwendet, um das Vermögen einer Software zu beschreiben, Aufgaben auszuführen (siehe Wikipedia). Umgangssprachlich geht es beim Begriff Performance meist darum, wie “schnell” eine Anwendung ist. Dabei wird normalerweise jedoch kein Unterschied zwischen der Performance des User Interface und der Performance der Anwendungslogik gemacht.
Trotzdem sollte innerhalb des Entwicklungsteams eine klare Trennung gemacht werden, welche Performance Aspekte für wen von Relevanz sind. Ein häufiger Fehler besteht darin, die Optimierung der Performance in die Verantwortung eines einzelnen Entwicklers zu geben. Obwohl das Thema Performance an sich die gesamte Applikation betrifft, ist es aber vorteilhaft, dass Optimierungen nicht nur durch eine einzelne Person aus dem Entwicklerteam abgedeckt, sondern entsprechend Fachkompetenzen und Spezialisierungen an die richtigen Personen verteilt werden. Genau aus diesem Grund, bemühe ich mich als UI Design Engineer bei Centigrade häufig darum, in Performance Analysen unserer Kunden bei .NET basierten Softwareprojekten einbezogen zu werden, um gerade an den Stellen, die den auf XAML-basierenden Teil des User Interface betreffen eine Optimierung zu realisieren, während unsere Kunden Performance-Optimierungen oftmals eher an der C#-basierten User Interface Logik oder noch tiefer liegenden Schichten vornehmen.“

