Freigeben über


Übersicht über Leistung und Grundlagen von Windows-Apps

Die Verbesserung der Leistung und Grundlagen Ihrer Anwendung verleiht ihr einen Hauch von Perfektion und Handwerkskunst, während Ihre Kunden Zeit, Geld, Akkulaufzeit und Entwicklungsaufwand sparen. Ihre App wird weniger Strom verbrauchen, was die Akkulaufzeit verbessert und die CO2-Emissionen verringert. Apps können auf kostengünstigerer Hardware reibungsloser ausgeführt werden. Die Produktivität Ihrer Kunden steigt.

Diese Seite bietet eine Übersicht über die Technologien und Entwicklungstools zum Messen, Verstehen und Optimieren der Leistung Ihrer Windows-Anwendung. Wenn Sie eine UWP-Anwendung schreiben, lesen Sie auch die Dokumentation zur UWP-Leistung.

Was bedeutet Anwendungsleistung, und warum ist sie wichtig?

Die Leistung ist das Maß dafür, wie effektiv Ihre Anwendung die Ressourcen des Systems verwendet, um zu tun, was Sie dafür entworfen haben. Es behandelt verschiedene Aspekte der Interaktion Ihres Programms mit dem zugrunde liegenden Gerät, einschließlich:

  • CPU-Auslastung
  • Arbeitsspeicherbelegung
  • Stromverbrauch
  • Netzwerk- und Speicherauslastung
  • Animationsleistung

Alle diese Eigenschaften weisen ein Kostenelement auf: Wie viel CPU verwendet meine Anwendung beispielsweise? Wie viel Bandbreite wird der Benutzer verbrauchen? Wie schnell wird diese bestimmte Seite meiner Anwendung geladen?

Benutzer erwarten die Leistung als grundlegende Eigenschaft der verwendeten Software. Sie möchten, dass ihre Anwendungen reaktionsfähig sind und die Ressourcen ihres Systems effizient nutzen. Anwendungen, die eine schlechte Leistung aufweisen, führen zu Frustration, was zu einer verringerten Benutzerbindung führen kann. Um Ihren Kunden die bestmögliche Erfahrung zu bieten, ist es daher von entscheidender Bedeutung, die Leistung zu einem regelmäßigen Teil Ihres Entwicklungsworkflows zu machen.

Wann sollten Sie die Anwendungsleistung messen?

Die Anwendungsleistung kann viele Phasen des Entwicklungsprozesses umfassen. Es hat Auswirkungen auf alles, was von Ihrer Wahl der Datenstruktur bis zur Technologie reicht, die Sie für die Erstellung Ihrer Anwendung auswählen. Beachten Sie die Leistung, während Sie Ihre Anwendung entwickeln, und planen Sie regelmäßige Leistungstests im Rahmen der Aktualisierung und Wartung Ihrer Anwendung.

Vorgehensweise zur Leistungsmessung

Hier sind einige Vorschläge, wie Sie das Testen Ihrer Anwendung auf Leistung angehen.

  • Nutzen Sie Ihr Wissen über Ihre Anwendung. Wenn Sie die am häufigsten verwendeten Szenarien für Ihre Benutzer verstehen, können Sie Ihre Zeit mit Bedacht auf die Optimierung der richtigen Dinge verbringen. Wenn Sie Daten darüber haben, wie Benutzer mit Ihrer Anwendung interagieren, wäre dies ein guter Zeitpunkt, um sie zu betrachten.
    • Wo verbringen Ihre Benutzer die meiste Zeit?
    • Was sind die wichtigsten Dinge, die ein Kunde mit Ihrer Software macht?
    • Was sind die Hardwareanforderungen Ihrer Anwendung?
  • Legen Sie Leistungsziele für Ihre wichtigsten Benutzerszenarien fest.
  • Seien Sie genau darüber, was Sie optimieren möchten. Ist es CPU? Batterie? Netzwerkdurchsatz?
  • Wählen Sie die Tools aus, die Sie für ihre Messungen verwenden.
  • Wenden Sie beim Testen eine wissenschaftliche Denkweise an. Erstellen Sie Benchmarks in einer kontrollierten Umgebung. Nehmen Sie dann Ihre Änderung vor, und messen Sie erneut, wie sich Ihre Änderungen auf das Verhalten Ihrer Anwendung auswirken.
  • Fügen Sie Regressionstests zu Ihrer Testumgebung hinzu. Dadurch wird sichergestellt, dass Ihre Leistungsmetriken nicht im Laufe der Zeit zurücktreten.

Verflechtende Metriken

Während Sie sich in der Regel auf einen Leistungsbereich konzentrieren, beachten Sie, dass Bereiche häufig miteinander verknüpft sind. Eine Verbesserung in einem Bereich kann zu einer Verbesserung in den anderen Bereichen führen.

Das Beheben des Stromverbrauchs ist z. B. häufig ein Synchronisierungsproblem. Eine Verringerung der Speicherauslastung kann dazu führen, dass die auf die CPU verwendete Zeit reduziert wird. Es kann auch Situationen geben, in denen zusätzliche Ressourcen, die in einem Bereich aufgewendet werden, eine wirkungsvollere Verbesserung in einem anderen Bereich zur Folge haben, z. B. kann die Erhöhung der Speicherauslastung die Netzwerk- oder Speicherauslastung durch Zwischenspeichern verringern.

Die Entscheidung, eine Änderung vorzunehmen, hängt davon ab, was für Ihre Kunden am wichtigsten ist.

Mit welchen Tools kann ich die Anwendungsleistung messen?

Es gibt eine Vielzahl verschiedener Optionen zum Messen der Leistung Ihrer Windows-Anwendung.

Wenn Sie nicht sicher sind, welche Tools Sie verwenden sollen, lesen Sie den Artikel Auswählen zwischen dem Visual Studio-Leistungs-Profiler und Windows Performance Toolkit.

Visual Studio-Symbol Visual Studio-Leistungs-Profiler

Visual Studio bietet Tools, mit denen Sie Ihre Anwendung überwachen können und Einblicke in Ihre Quelle erhalten. Besuchen Sie die unten angegebenen Ressourcen, um zu erfahren, wie Sie diese Tools zum Optimieren Ihres Code direkt in Ihrer Entwicklungsumgebung verwenden können.

Windows-Leistungsanalyse-Symbol Windows Performance Toolkit

Windows Performance Recorder und Windows-Leistungsanalyse ermöglichen eine detaillierte Überwachung und Analyse Ihrer Anwendung und des gesamten Systems mithilfe der Ereignisablaufverfolgung für Windows (ETW). Informationen zu den ersten Schritte finden Sie unter den unten angegebenen Links.

PerfView-Symbol PerfView

PerfView ist ein Open Source-Überwachungs- und Analysetool, das vom .NET-Team zum Untersuchen von Leistungsproblemen in .NET erstellt wurde. Aufgrund der Möglichkeit, .NET-Symbole und verwalteten Arbeitsspeicher zu decodieren, ist es eine ideale Wahl für verwaltete Anwendungen.

SizeBench-Symbol SizeBench

SizeBench ist ein Hilfsprogramm, mit dem Sie die Größe Ihrer kompilierten nativen Codebinärdateien (DLLs, EXEs und andere PE-Dateien) untersuchen und verringern können.

Weitere Ressourcen

Blogs und Neuigkeiten

Werfen Sie einen Blick hinter die Kulissen mit Entwicklerblogs, die von unseren Leistungsexperten verfasst wurden, um die Entwicklung der besten Version Ihrer App zu unterstützen.

Community und Support

Leistung und Nachhaltigkeit

Leistungs-Engineering hat eine direkte Schnittmenge mit der Bewegung für nachhaltige Software. Die meisten Stromnetze verbrennen fossile Brennstoffe zur Stromerzeugung. Wenn Ihre Anwendung auf einem PC läuft, verbraucht sie inkrementell Strom, der für einen einzelnen Benutzer gering sein mag, sich aber summiert, wenn Ihre Benutzerbasis wächst.

Möchten Sie erfahren, wie sich Leistungsengineering und Nachhaltigkeit überschneiden? Sehen Sie sich die Prinzipien des Green Software Engineering und des Blogs "Sustainable Software" von Microsoft an.

Unsere Inhaltsroadmap

Ohne die richtige Anleitung kann Leistung ein schwieriger Teil Ihres Entwicklungsprozesses sein. Sicherzustellen, dass die richtige Dokumentation für App-Entwickler verfügbar ist, ist der Schlüssel zum Erstellen schnellerer Apps. In der nachstehenden Roadmap sind die nächsten Seiten aufgeführt, die diesem Dokumentsatz hinzugefügt werden sollen, und zwar in der Reihenfolge, in der sie veröffentlicht werden. Wenn Sie etwas sehen, das Ihnen gefällt oder wenn etwas fehlt, teilen Sie uns dies auf GitHub über die Feedbacklinks unten auf dieser Seite mit. Unser Ziel ist es, ein abgerundetes und lehrreiches Dokumentationsset zum Thema App-Leistung zu erstellen, das Ihren Anforderungen entspricht. Daher würden wir gerne von Ihnen hören. Sie sind herzlich eingeladen, uns Ihr Feedback zu dieser Seite zu geben und uns mitzuteilen, welche Themen Sie im Hinblick auf die Leistung von Windows-Anwendungen gerne behandelt sehen würden.

Thema Beschreibung
Einführung in Leistungsbereiche Beschreibungen der Bedeutung von Leistung im Kontext von CPU, Arbeitsspeicher, GPU usw.
Identifizieren der zu messenden Daten Abhängig von Ihrer Workload, Umgebung und anderen Faktoren können bestimmte Leistungsbereiche einen größeren Fokus verdienen als andere. In diesem Dokument erfahren Sie, was und wann gemessen werden muss.
Leistungstestzyklus Begleiten Sie uns durch den Lebenszyklus der Leistungstests, einschließlich der Einrichtung Ihrer Testumgebung, der Analyse Ihrer Ergebnisse und der Durchführung von Produktverbesserungen.
Grundlegendes zu den verschiedenen Leistungstools In diesem Dokument werden weitere Leistungstools eingeführt, und es werden die Anwendungsfälle und bewährten Methoden für deren Verwendung vorgestellt.
Fallstudien Eine Reihe von End-to-End-Szenarien und deren Weg durch den Leistungstestzyklus