Planen der Anwendungsleistung
Der Erfolg der Erreichung Ihrer Leistungsziele hängt davon ab, wie gut Sie Ihre Leistungsstrategie entwickeln. Planung ist die erste Phase bei der Entwicklung eines Produkts. In diesem Thema werden einige sehr einfache Regeln für die Entwicklung einer guten Leistungsstrategie beschrieben.
In Szenarien denken
Szenarien können Ihnen helfen, sich auf die kritischen Komponenten Ihrer Anwendung zu konzentrieren. Szenarien werden in der Regel von Ihren Kunden sowie wettbewerbsfähigen Produkten abgeleitet. Studieren Sie immer Ihre Kunden, um herauszufinden, was sie an Ihrem Produkt und den Produkten Ihrer Konkurrenten wirklich begeistert. Das Feedback Ihrer Kunden kann Ihnen helfen, das primäre Szenario Ihrer Anwendung zu ermitteln. Wenn Sie beispielsweise eine Komponente entwerfen, die beim Start verwendet wird, wird die Komponente wahrscheinlich nur einmal aufgerufen, wenn die Anwendung gestartet wird. Die Startzeit wird zu Ihrem Schlüsselszenario. Andere Beispiele für wichtige Szenarien könnten die gewünschte Bildrate für Animationssequenzen oder die maximal erlaubte Arbeitsmenge für die Anwendung sein.
Definieren von Zielen
Mithilfe von Zielen können Sie ermitteln, ob eine Anwendung schneller oder langsamer ausgeführt wird. Sie sollten Ziele für alle Ihre Szenarien definieren. Alle von Ihnen definierten Leistungsziele sollten auf den Erwartungen Ihrer Kunden basieren. Es kann schwierig sein, die Leistungsziele frühzeitig im Anwendungsentwicklungszyklus festzulegen, wenn es noch viele ungelöste Probleme gibt. Es ist jedoch besser, ein erstes Ziel festzulegen und später zu überarbeiten, als überhaupt kein Ziel zu haben.
Grundlegendes zu Ihrer Plattform
Behalten Sie den Zyklus der Messung, Untersuchung, Verfeinerung/Korrektur während des Anwendungsentwicklungszyklus immer bei. Von Anfang bis Ende des Entwicklungszyklus müssen Sie die Leistung Ihrer Anwendung in einer zuverlässigen, stabilen Umgebung messen. Sie sollten Variabilität vermeiden, die durch externe Faktoren verursacht wird. Wenn Sie beispielsweise die Leistung testen, sollten Sie Virenschutz oder automatische Updates wie SMS deaktivieren, um die Leistungstestergebnisse nicht zu beeinträchtigen. Nachdem Sie die Leistung Ihrer Anwendung gemessen haben, müssen Sie die Änderungen identifizieren, die zu den größten Verbesserungen führen. Nachdem Sie Die Anwendung geändert haben, starten Sie den Zyklus erneut.
Machen Sie das Leistungstuning zu einem iterativen Prozess
Sie sollten die relativen Kosten für jedes Feature kennen, das Sie verwenden werden. Beispielsweise ist die Verwendung der Spiegelung in Microsoft .NET Framework in der Regel leistungsintensiv in Bezug auf Computerressourcen, sodass Sie sie sorgfältig verwenden möchten. Dies bedeutet nicht, die Verwendung von Reflexion zu vermeiden, sondern dass Sie vorsichtig sein sollten, die Leistungsanforderungen Ihrer Anwendung mit denen der von Ihnen genutzten Funktionen in Einklang zu bringen.
Aufbau grafischer Fülle
Eine wichtige Technik zum Erstellen eines skalierbaren Ansatzes zur Erreichung der WPF-Anwendungsleistung besteht darin, auf grafische Vielfalt und Komplexität hin zu bauen. Beginnen Sie immer mit der Verwendung der am wenigsten leistungsintensiven Ressourcen, um Ihre Szenarioziele zu erreichen. Nachdem Sie diese Ziele erreicht haben, arbeiten Sie an einer Steigerung der grafischen Fülle durch den Einsatz leistungsintensiverer Funktionen, wobei Sie stets Ihre Szenarioziele im Auge behalten. Denken Sie daran, dass WPF eine sehr umfangreiche Plattform ist und sehr umfangreiche Grafikfeatures bietet. Die Verwendung leistungsintensiver Features ohne Denken kann sich negativ auf die gesamte Anwendungsleistung auswirken.
WPF-Steuerelemente sind inhärent erweiterbar, da sie eine breite Anpassung ihrer Darstellung ermöglichen, ohne das Verhalten der Steuerelemente zu ändern. Durch die Nutzung von Stilen, Datenvorlagen und Steuerelementvorlagen können Sie eine anpassbare Benutzeroberfläche erstellen und inkrementell weiterentwickeln, die sich an Ihre Leistungsanforderungen anpasst.
Siehe auch
.NET Desktop feedback