Planen der Anwendungsleistung
Das Erreichen Ihrer Leistungsziele hängt davon ab, wie gut Sie Ihre Leistungsstrategie entwickeln. Die Planung ist der erste Schritt bei der Entwicklung eines jeden Produkts. In diesem Thema werden einige sehr einfache Regeln für die Entwicklung einer guten Leistungsstrategie beschrieben.
Denken in Szenarien
Szenarien können Ihnen helfen, sich auf die kritischen Komponenten Ihrer Anwendung zu konzentrieren. Szenarien leiten sich in der Regel von den Wünschen Ihrer Kundschaft sowie den Produkten von Wettbewerbern ab. Studieren Sie Immer Ihre Kundschaft, und finden Sie heraus, was sie an Ihrem Produkt und den Produkten Ihrer Wettbewerber wirklich begeistert. Das Feedback Ihrer Kundschaft kann Ihnen helfen, das primäre Szenario Ihrer Anwendung zu bestimmen. Wenn Sie beispielsweise eine Komponente entwerfen, die beim Start verwendet wird, ist es wahrscheinlich, dass diese Komponente nur einmal beim Start der Anwendung aufgerufen wird. Die Startzeit wird in diesem Fall zu Ihrem wichtigsten Szenario. Andere Beispiele für wichtige Szenarien könnten die gewünschte Bildfrequenz bei Animationssequenzen sein oder der maximale Arbeitssatz, der für die Anwendung zulässig ist.
Definieren von Zielen
Ziele helfen Ihnen zu bestimmen, ob eine Anwendung schnell oder langsam ist. Sie sollten Ziele für alle Ihre Szenarien definieren. Alle von Ihnen definierten Leistungsziele sollten auf den Erwartungen Ihrer Kundschaft basieren. Es kann schwierig sein, Leistungsziele früh im Anwendungsentwicklungszyklus festzulegen, wenn es immer noch viele ungelöste Probleme gibt. Möglicherweise ist es besser, ein anfängliches Ziel festzulegen und es später zu überdenken, anstatt überhaupt kein Ziel zu haben.
Verstehen Ihrer Plattform
Behalten Sie immer denselben Messzyklus bei, und untersuchen und optimieren/korrigieren Sie Ihre Anwendung während des Entwicklungszyklus. Sie müssen während des gesamten Entwicklungszyklus die Leistung Ihrer Anwendung in einer zuverlässigen, stabilen Umgebung messen. Vermeiden Sie dabei Abweichungen durch externe Faktoren. Wenn Sie beispielsweise die Leistung testen, sollten Sie Antivirensoftware oder automatische Updatesysteme wie SMS deaktivieren, um die Ergebnisse der Leistungstests 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 Ihre Anwendung geändert haben, starten Sie den Zyklus erneut.
Leistungsoptimierung als iterativer Prozess
Sie müssen die relativen Kosten für jedes Feature kennen, das Sie verwenden. Beispielsweise ist die Verwendung von Reflexion in Microsoft .NET Framework in der Regel leistungsintensiver in Bezug auf die Computeressourcen, deshalb sollten Sie diese Funktion mit Umsicht verwenden. Dies bedeutet nicht, dass Sie die Reflexion ganz vermeiden sollen, sondern nur, dass Sie vorsichtig sein sollten und die Leistungsanforderungen Ihrer Anwendung gegen die der von Ihnen verwendeten Features abwägen müssen.
Grafische Vielfalt bei der Entwicklung
Eine wichtige Technik für einen skalierbaren Ansatz zum Erreichen einer angemessenen WPF-Anwendungsleistung besteht darin, auf grafische Vielfalt und Komplexität zu bauen. Beginnen Sie immer mit der Verwendung der am wenigsten leistungsintensiven Ressourcen, um Ihre Szenarioziele zu erreichen. Nachdem Sie diese Ziele erreicht haben, erhöhen Sie die grafische Vielfalt, indem Sie leistungsintensivere Features verwenden, dabei aber immer Ihre Szenarioziele im Blick behalten. Denken Sie daran, dass WPF eine sehr umfangreiche Plattform ist und sehr viele Grafikfeatures bietet. Wenn Sie leistungsintensive Features unbedacht anwenden, kann dies negative Auswirkungen auf die allgemeine Anwendungsleistung haben.
WPF-Steuerelemente sind inhärent erweiterbar und ermöglichen eine umfangreiche Anpassung ihrer Darstellung, ohne das Steuerelementverhalten zu ändern. Mithilfe von Stilen, Datenvorlagen und Steuerelementvorlagen können Sie eine anpassbare Benutzeroberfläche (UI) erstellen und schrittweise weiterentwickeln, die Ihren Leistungsanforderungen entspricht.
Weitere Informationen
.NET Desktop feedback