Einführung in Profilerstellungstools (C#, Visual Basic, C++, F#)

Visual Studio bietet eine Vielzahl von Profilerstellungstools, um Ihnen bei der Diagnose von unterschiedlichen Leistungsprobleme zu helfen, die von dem App-Typ abhängen. In diesem Artikel werfen wir einen kurzen Blick auf die gängigsten Profilerstellungstools.

Informationen zur Unterstützung der Profilerstellungstools für die verschiedenen App-Typen finden Sie unter Welches Tool soll ich verwenden?.

Messen der Leistung beim Debuggen

Die Profilerstellungstools, auf die Sie während einer Debugsitzung zugreifen können, stehen im Fenster „Diagnosetools“ zur Verfügung. Das Fenster „Diagnosetools“ wird automatisch angezeigt, wenn Sie es nicht deaktiviert haben. Klicken Sie zum Aufrufen des Fensters auf Debuggen / Windows / Diagnosetools anzeigen (oder drücken Sie auf Strg + Alt + F2). Wenn das Fenster geöffnet ist, können Sie Tools auswählen, für die Sie Daten sammeln möchten.

Fenster „Diagnosetools“

Fenster „Diagnosetools“

Während Sie Debuggen, können Sie das Diagnosetools-Fenster zum Analysieren der CPU und Speicherauslastung verwenden, und Sie können Ereignisse anzeigen, die Leistungsbezogene Informationen zeigen.

Zusammenfassung „Diagnosetools“

Zusammenfassung „Diagnosetools“

Das Fenster Diagnosetools ist ein gängiges Instrument zum Profilen von Apps. Aber für Releasebuilds können Sie stattdessen auch eine nachträgliche Analyse Ihrer App durchführen. Weitere Informationen zu verschiedenen Herangehensweisen finden Sie unter Ausführen von Profilerstellungstools mit oder ohne Debugger. Informationen zur Unterstützung der Profilerstellungstools für die verschiedenen App-Typen finden Sie unter Welches Tool soll ich verwenden?.

Zu den Tools, die im Fenster „Diagnosetools“ oder während einer Debugsitzung verfügbar sind, zählen:

Hinweis

Windows 8 und höher ist erforderlich, um die Profilerstellungstools mit dem Debugger auszuführen (Fenster Diagnosetools). Sie können die Post-Mortem-Tools mit Windows 7 und höher verwenden.

Messen der Leistung in Releasebuilds

Tools im Leistungs-Profiler dienen zur Analyse der Releasebuilds. Im Leistungs-Profiler können Sie Diagnoseinformationen sammeln, während die App ausgeführt wird, und anschließend die gesammelten Informationen überprüfen, nachdem die App angehalten wurde (eine Post-Mortem-Analyse).

Öffnen Sie den Leistungs-Profiler durch Wählen von Debuggen > Leistungs-Profiler (oder drücken Sie ALT+F2).

Leistungs-Profiler

Leistungs-Profiler

Weitere Informationen zur Verwendung des Tools „CPU-Auslastung“ oder „Speicherauslastung“ im Leistungs-Profiler im Vergleich zu den in den Debugger integrierten Tools finden Sie unter Ausführen von Profilerstellungstools mit oder ohne Debugger.

Im Leistungs-Profiler verfügbare Tools:

Informationen zur Unterstützung der Profilerstellungstools für die verschiedenen App-Typen finden Sie unter Welches Tool soll ich verwenden?.

In einigen Szenarien können Sie im Fenster mehrere Profilerstellungstools auswählen. Tools wie z.B. CPU-Auslastung stellen möglicherweise ergänzende Daten bereit, die Sie als Hilfe bei Ihrer Analyse verwenden können. Sie können auch den Befehlszeilen-Profiler verwenden, um Szenarios mit mehreren Profilerstellungstools zu ermöglichen.

Untersuchen der Leistung mit PerfTips

In den meisten Fällen besteht die einfachste Methode zum Anzeigen von Leistungsinformationen darin, PerfTips zu verwenden. Mit PerfTips können Sie Leistungsinformationen anzeigen, während Sie mit Ihrem Code interagieren. Sie können Informationen wie z.B. die Dauer des Ereignisses überprüfen (gemessen daran, wann der Debugger zuletzt angehalten wurde oder wann die App gestartet ist). Wenn Sie beispielsweise die Schritt-für-Schritt-Ausführung des Codes (F10, F11) verwenden, zeigt PerfTips Ihnen die App-Laufzeitdauer vom vorherigen Schritt zum nächsten Schritt an.

Profilerstellungstour „PerfTips“

Profilerstellungstour „PerfTips“

Sie können PerfTips verwenden, um zu untersuchen, wie lange die Ausführung eines Codeblocks oder einer einzelnen Funktion dauert.

PerfTips zeigt dieselben Ereignisse an, die auch in der Ansicht Ereignisse der Diagnosetools angezeigt werden. In der Ansicht Ereignisse können Sie verschiedene Ereignisse anzeigen, die beim Debuggen auftreten, z. B. das Festlegen eines Breakpoints oder einer Schritt-für-Schritt-Codeausführung.

Ansicht „Ereignisse“ in den Diagnosetools

Ansicht „Ereignisse“ in den Diagnosetools

Hinweis

Wenn Sie über Visual Studio Enterprise verfügen, sehen Sie auch IntelliTrace-Ereignisse auf dieser Registerkarte.

Analysieren der CPU-Auslastung

Mit dem CPU-Auslastungstool können Sie die Analyse der Leistung Ihrer App starten. So erfahren Sie mehr über die CPU-Ressourcen, die Ihre App in Anspruch nimmt. Sie können das in den Debugger integrierte CPU-Auslastungstool oder das Post-Mortem-CPU-Auslastungstool verwenden.

Wenn Sie das in den Debugger integrierte CPU-Auslastungstool verwenden, öffnen Sie das Fenster „Diagnosetool“ (wenn es geschlossen ist, wählen Sie Debuggen/Fenster/Diagnosetools anzeigen). Öffnen Sie beim Debuggen die Ansicht Zusammenfassung, und wählen Sie CPU-Profilerstellung aufzeichnen aus.

Aktivieren der CPU-Auslastung in den Diagnosetools

Aktivieren der CPU-Auslastung in den Diagnosetools

Eine Möglichkeit, das Tool einzusetzen, ist das Festlegen zweier Haltepunkte im Code, einen am Anfang und einen am Ende der Funktion, oder in dem Codebereich, den Sie analysieren möchten. Überprüfen Sie die Profilerstellungsdaten, wenn Sie beim zweiten Haltepunkt angehalten werden.

Die Ansicht CPU-Auslastung zeigt eine Liste der Funktionen an, geordnet nach der Ausführungsdauer. Hierbei wird die Funktion mit der längsten Laufzeit unter Top-Funktionen an erster Stelle angezeigt. Im Abschnitt Langsamster Pfad wird die Aufrufliste für die Funktionen mit der höchsten CPU-Auslastung angezeigt. Anhand dieser Listen können Sie feststellen, bei welchen Funktionen es zu Leistungsengpässen kommt.

Ansicht „CPU-Auslastung“ in den Diagnosetools

Die Ansicht CPU-Auslastung zeigt eine Liste der Funktionen, geordnet nach den am längsten ausgeführten, mit der längsten Funktion oben. Dies kann helfen, Sie zu Funktionen zu führen, in denen Leistungsengpässe auftauchen.

Ansicht „CPU-Auslastung“ in den Diagnosetools

Doppelklicken Sie auf eine für Sie interessante Funktion, um eine ausführlichere Ansicht „Aufrufstruktur“ zu öffnen, in der die ausgewählte Funktion hervorgehoben ist. Die Tabelle enthält Spalten mit Daten wie z. B. die in der Funktion verbrachte Zeit einschließlich der aufgerufenen Funktionen (CPU gesamt), und eine zweite Spalte, die die in einer Funktion verbrachte Zeit ohne die aufgerufenen Funktionen angibt (Eigen-CPU). Diese Daten können bei der Bewertung helfen, ob die Funktion selbst ein Leistungsengpass ist.

Aufrufer-/Aufgerufener-Ansicht „Schmetterling“ in den Diagnosetools

Doppelklicken Sie auf eine Funktion, an der Sie interessiert sind. Ihnen wird eine detailliertere „Schmetterlingsansicht“ aus drei Bereichen angezeigt. Die ausgewählte Funktion befindet sich in der Mitte des Fensters, die aufrufende Funktion auf der linken Seite und die aufgerufenen Funktionen auf der rechten Seite. Unter Funktionsrumpf wird die Gesamtzeit (und der Prozentsatz der Zeit) angezeigt, die im Funktionsrumpf aufgewendet wurde. Die Zeit, die in aufrufenden und aufgerufenen Funktionen aufgewendet wurde, ist nicht enthalten. Diese Daten können bei der Bewertung helfen, ob die Funktion selbst ein Leistungsengpass ist.

Aufrufer-/Aufgerufener-Ansicht „Schmetterling“ in den Diagnosetools

Analysieren der Speicherauslastung

Im Fenster Diagnosetools können Sie auch das Tool Speicherauslastung verwenden, um die Arbeitsspeicherauslastung in Ihrer App auszuwerten. Beispielsweise können Sie die Anzahl und Größe der Objekte auf dem Heap anzeigen. Sie können das in den Debugger integrierte Speicherauslastungstool oder das Post-Mortem-Speicherauslastungstool im Leistungs-Profiler verwenden.

.NET-Entwickler können zwischen dem .NET-Tool für Objektzuordnungen und dem Tool zur Speicherauslastung auswählen.

  • Das Tool für .NET-Objektzuordnungen unterstützt Sie dabei, Zuteilungsmuster und Anomalien in Ihrem .NET-Code zu entdecken, und es unterstützt Sie beim Identifizieren häufiger Probleme mit der Garbage Collection. Dieses Tool wird nur zur Nachbereitung ausgeführt. Sie können dieses Tool auf lokalen Computern oder Remotecomputern ausführen.
  • Das Tool für Arbeitsspeicherauslastung ist hilfreich für das Identifizieren von Arbeitsspeicherverlusten, die bei .NET-Apps nicht allzu häufig auftreten. Wenn Sie Debuggerfeatures für das Überprüfen des Arbeitsspeichers verwenden müssen, z. B. für das schrittweise Ausführen von Code, wird das im Debugger integrierte Tool für die Arbeitsspeicherauslastung empfohlen.

Sie müssen mindestens eine Arbeitsspeichermomentaufnahme erfassen, um die Arbeitsspeicherauslastung mit dem Speicherauslastungstool zu analysieren. Häufig ist es zum Analysieren von Arbeitsspeicher am Besten, wenn man zwei Momentaufnahmen macht, die erste direkt vor einem vermuteten Arbeitsspeicherproblem und die zweite Momentaufnahme direkt nach dem Auftreten eines vermuteten Arbeitsspeicherproblems. Anschließend können Sie einen Vergleich der zwei Momentaufnahmen anzeigen und sehen, was genau sich geändert hat. In der folgenden Abbildung wird gezeigt, wie eine Momentaufnahme mit dem in den Debugger integrierten Tool erstellt wird.

Erstellen einer Momentaufnahme in den Diagnosetools

Erstellen einer Momentaufnahme in den Diagnosetools

Wenn Sie auf einen der Pfeillinks klicken, erhalten Sie eine Differenzansicht des Heaps (ein roter Pfeil NACH OBEN für Memory Usage Increase (Zunahme der Speicherauslastung) zeigt eine zunehmende Objektanzahl (links) oder eine höhere Heapgröße (rechts)). Wenn Sie den richtigen Link klicken, erhalten Sie eine differenzielle Heapansicht, sortiert nach Objekten, die in der Heapgröße am meisten erhöht wurden. Dadurch können Sie Speicherprobleme ermitteln. Zum Beispiel wurden in der folgenden Abbildung die Bytes mithilfe des ClassHandlersStore-Objekts in der zweiten Momentaufnahme um 3492 Bytes erhöht.

Differenzansicht „Heap“ in den Diagnosetools

Differenzansicht „Heap“ in den Diagnosetools

Wenn Sie statt in der Ansicht Speicherauslastung auf den Link auf der linken Seite klicken, ist die Heapansicht nach der Objektanzahl organisiert. Die Objekte eines bestimmten Typs, der die Zahl am meisten erhöht hat, werden oben angezeigt (sortiert nach der Spalte Anzahlunterschied).

Analysieren des Ressourcenverbrauchs (XAML)

In XAML-Apps, z.B. Windows Desktop WPF-Apps und UWP-Apps, können Sie mit der Anwendungszeitachse den Ressourcenverbrauch analysieren. Sie können analysieren, wie viel Zeit Ihre Anwendung zum Vorbereiten von Benutzeroberflächenframes (Layout und Render), von Netzwerk- und Datenträgeranforderungen sowie in Szenarios wie Starten von Anwendungen, Laden von Seiten und Ändern von Fenstergrößen benötigt. Wählen Sie die Anwendungszeitachse im Leistungsprofiler aus und anschließend Starten, um das Tool zu verwenden. Navigieren Sie in Ihrer App zum Szenario mit einem vermuteten Ressourcenverbrauch-Problem, und wählen Sie anschließend Auflistung beenden zum Generieren des Berichts aus.

Geringe Framerates im Diagramm Visueller Durchsatz entsprechen möglicherweise visuellen Problemen, die Sie beim Ausführen der App sehen. Auf ähnliche Weise können hohe Zahlen des Diagramms Auslastung des UI-Thread Problemen mit der Reaktionsfähigkeit der Benutzeroberfläche entsprechen. Im Bericht können Sie den Zeitraum mit einem vermuteten Leistungsproblem auswählen, und anschließend die detaillierten UI-Threadaktivitäten in der Zeitachsendetailansicht (unten) überprüfen.

Profilerstellungstool für die Anwendungszeitachse

Profilerstellungstool für die Anwendungszeitachse

In der Zeitachsendetailansicht finden Sie Informationen wie den Typ der Aktivität (oder das beteiligte Benutzeroberflächenelement) sowie die Dauer der Aktivität. In der Abbildung benötigt beispielsweise ein Layout-Ereignis für ein Grid-Steuerelement 57,53 ms.

Weitere Informationen finden Sie unter Anwendungszeitachse.

Analysieren von asynchronem Code (.NET)

Mit dem Tool .NET Async können Sie die Leistung von asynchronem Code in Ihrer Anwendung analysieren. Dieses Tool ist im Leistungs-Profiler verfügbar. Öffnen Sie den Leistungs-Profiler durch Wählen von Debuggen > Leistungs-Profiler (oder drücken Sie ALT+F2).

Das Tool zeigt jeden asynchronen Vorgang in einer Listenansicht. Sie sehen für einen asynchronen Vorgang Informationen wie Startzeit, Endzeit und Gesamtzeit.

Angehaltenes Tool .NET Async

Analysieren von asynchronem Code (.NET)

Mit dem Tool .NET Async können Sie die Leistung von asynchronem Code in Ihrer Anwendung analysieren. Dieses Tool ist im Leistungs-Profiler verfügbar. Öffnen Sie den Leistungs-Profiler durch Wählen von Debuggen > Leistungs-Profiler (oder drücken Sie ALT+F2).

Das Tool zeigt jeden asynchronen Vorgang in einer Listenansicht. Sie sehen für einen asynchronen Vorgang Informationen wie Startzeit, Endzeit und Gesamtzeit.

Angehaltenes Tool .NET Async

Untersuchen von Anwendungsereignissen

Die generische Ereignisanzeige zeigt die Aktivität Ihrer Anwendung in Form einer Liste von Ereignissen wie Laden von Modulen, Starten von Threads und die Systemkonfiguration an. Dadurch können Sie die Leistung Ihrer Anwendung direkt im Profiler von Visual Studio besser diagnostizieren. Dieses Tool ist im Leistungs-Profiler verfügbar. Öffnen Sie den Leistungs-Profiler durch Wählen von Debuggen > Leistungs-Profiler (oder drücken Sie ALT+F2).

Das Tool zeigt jedes Ereignis in einer Listenansicht. Spalten enthalten Informationen zu jedem Ereignis, wie z. B. Ereignisname, Zeitstempel und Prozess-ID.

Überwachung in der Ereignisanzeige

Analysieren der Datenbankleistung (.NET Core)

Bei .NET Core-Apps, die mit ADO.NET oder Entity Framework Core arbeiten, können Sie mit dem Tool Datenbank die Datenbankabfragen aufzeichnen, die Ihre Anwendung während einer Diagnosesitzung durchführt. Sie können anschließend Informationen zu einzelnen Abfragen analysieren, um Möglichkeiten zur Verbesserung der Leistung Ihrer App zu finden. Dieses Tool ist im Leistungs-Profiler verfügbar. Öffnen Sie den Leistungs-Profiler durch Wählen von Debuggen > Leistungs-Profiler (oder drücken Sie ALT+F2).

Das Tool zeigt jede Abfrage in einer Listenansicht. Es werden Informationen wie die Startzeit und Dauer der Abfrage angezeigt.

Speicherbelegung

Visualisieren von .NET-Indikatoren (.NET Core)

Ab Visual Studio 2019 Version 16.7 können Sie das Tool .NET-Indikatoren in Visual Studio verwenden, um Leistungsindikatoren visuell darzustellen. Sie können mit dotnet-Indikatoren erstellte Indikatoren visualisieren. Dotnet-Indikatoren unterstützen viele Indikatoren, wie z. B. CPU-Auslastung und Garbage Collector-Heapgröße.

Das Tool zeigt Livewerte für jeden Indikator in einer Listenansicht an.

Erfassung des .NET-Leistungsindikatortools

Überprüfen der UI-Leistung und Barrierefreiheitsereignisse (UWP)

In Ihren UWP-Apps können Sie die Analyse der Benutzeroberfläche im Fenster Diagnosetools aktivieren. Das Tool sucht nach gemeinsamen Leistungs- oder Barrierefreiheitsproblemen, und zeigt sie in der Ansicht Ereignisse an, während Sie debuggen. Die Ereignisbeschreibungen bieten Informationen zur Problembehebung.

Anzeigen der Ereignisse der Benutzeroberflächenanalyse in den Diagnosetools

Anzeigen der Ereignisse der Benutzeroberflächenanalyse in den Diagnosetools

Analysieren der GPU-Nutzung (Direct3D)

In Direct3D-Apps (Direct3D-Komponenten müssen in C++ vorhanden sein) können Sie Aktivitäten auf der GPU überprüfen und Leistungsprobleme analysieren. Weitere Informationen erhalten Sie unter GPU-Nutzung. Wählen Sie die GPU-Nutzung im Leistungsprofiler und anschließend Starten aus, um das Tool zu verwenden. Durchlaufen Sie in Ihrer Anwendung das Szenario, für das Sie ein Profil erstellen wollen, und wählen Sie anschließend Auflistung beenden, um einen Bericht zu generieren.

Wenn Sie einen Zeitraum im Diagramm und Details anzeigen auswählen, wird eine detaillierte Ansicht wird im unteren Bereich angezeigt. In der Detailansicht können Sie überprüfen, wie viel Aktivität auf jeder CPU und GPU vorhanden ist. Wählen Sie Ereignisse im untersten Bereich aus, um Popups in der Zeitachse aufzurufen. Wählen Sie z.B. das Vorhanden-Ereignis aus, um die Vorhanden-Aufruf-Popups anzuzeigen. (Die hellgrauen vertikalen VSync-Zeilen informieren darüber, ob für bestimmte Present-Aufrufe ein VSync-Ereignis fehlt. Es muss ein Present-Aufruf zwischen je zwei VSync-Ereignissen vorliegen, damit die App kontinuierlich 60 FPS erreicht.)

Profilerstellungstool „GPU-Nutzung“

Profilerstellungstool „GPU-Nutzung“

Die Diagramme können auch bestimmen, ob es CPU-gebundene oder GPU-gebundene Leistungsengpässe gibt.

Analysieren der Leistung (JavaScript UWP)

Für UWP-Apps können Sie das JavaScript-Speichertool und das Tool für die Reaktionsfähigkeit der HTML-Benutzeroberfläche verwenden.

Das JavaScript-Speichertool ähnelt dem für andere App-Typen verfügbaren Speicherauslastungstool. Mit diesem Tool können Sie die Speicherauslastung verstehen und Speicherverluste in Ihrer App finden. Weitere Informationen zu diesem Tool finden Sie unter JavaScript-Memory.

Profilerstellungstool „JavaScript-Arbeitsspeicher“

Verwenden Sie das Tool für die Reaktionsfähigkeit der HTML-Benutzeroberfläche, um die UI-Reaktionsfähigkeit, die langsame Ladezeit und die langsamen visuellen Updates in UWP-Apps zu diagnostizieren. Der Verbrauch ähnelt dem Anwendungszeitachsen-Tool für andere App-Typen. Weitere Informationen finden Sie unter HTML-UI-Reaktionsfähigkeit.

Profilerstellungstool zur Reaktionsfähigkeit der Benutzeroberfläche (HTML)

Analysieren der Netzwerkverwendung (UWP)

In UWP-Apps können Sie mit der Windows.Web.Http-API ausgeführte Netzwerkvorgänge analysieren. Dieses Tool hilft Ihnen beim Lösen von Problemen beispielsweise mit dem Zugriff oder der Authentifizierung, einer falschen Cachenutzung oder einer unzureichenden Leistung bei Anzeige und Downloads. Wählen Sie Netzwerk im Leistungsprofiler und anschließend Starten aus, um das Tool zu verwenden. Durchlaufen Sie in Ihrer Anwendung das Szenario, das Windows.Web.Http verwendet, und wählen Sie anschließend Auflistung beenden aus, um einen Bericht zu generieren.

Profilerstellungstool „Netzwerkauslastung“

Wählen Sie einen Vorgang in der Ansicht „Zusammenfassung“ aus, um mehr Details anzuzeigen.

Ausführliche Informationen im Tool „Netzwerkauslastung“

Weitere Informationen finden Sie unter Netzwerkverwendung.

Analysieren der Leistung (Legacytools)

Wenn Sie Funktionen wie z.B. Instrumentation benötigen, die derzeit nicht in der CPU-Nutzung oder in den Speicherauslastungstools vorhanden sind, und Desktop- oder ASP.NET-Apps ausgeführt werden, können Sie für die Profilerstellung den Leistungs-Explorer verwenden. (Wird in UWP-Apps nicht unterstützt.) Weitere Informationen finden Sie unter Leistungs-Explorer.

In Visual Studio 2019 wurden der Legacy-Leistungs-Explorer und die zugehörigen Profilerstellungstools wie der Leistungs-Assistent in den Leistungs-Profiler eingefügt, den Sie über Debuggen > Leistungs-Profiler öffnen können. Welche Diagnosetools im Leistungs-Profiler verfügbar sind, hängt von dem ausgewählten Ziel und dem aktuell geöffneten Startprojekt ab. Das CPU-Auslastungstool stellt die Funktion zur Stichprobenentnahme bereit, die zuvor über den Leistungs-Assistent verfügbar war. Das Instrumentierungstool bietet die instrumentierte Profilerstellungsfunktion (für präzise Aufrufanzahlen und -zeiten), die zuvor im Leistungs-Assistent verfügbar war. Außerdem sind weitere Arbeitsspeichertools im Leistungs-Profiler verfügbar.

Tool „Leistungs-Explorer“

Welches Tool soll ich verwenden?

Hier sehen Sie eine Tabelle, in der die verschiedenen Tools aufgelistet sind, die Visual Studio anbietet sowie die verschiedenen Projekttypen, die Sie mit diesen verwenden können:

Leistungstool Windows-Desktop UWP ASP.NET/ASP.NET Core
PerfTips ja ja ja
CPU-Auslastung ja ja ja
Speicherauslastung ja ja ja
.NET-Objektzuordnung Ja (Nur .NET) ja ja
GPU-Nutzung ja ja nein
Anwendungszeitachse ja (XAML) ja nein
Ereignisanzeige ja ja ja
.NET Async Ja (Nur .NET) ja ja
.NET-Indikatoren Ja (nur .NET Core) Nein Ja (nur ASP.NET Core)
Datenbank Ja (nur .NET Core) Nein Ja (nur ASP.NET Core)
Leistungs-Explorer Nein nein Nein
IntelliTrace Nur .NET mit Visual Studio Enterprise Nur .NET mit Visual Studio Enterprise Nur .NET mit Visual Studio Enterprise
Leistungstool Windows-Desktop UWP ASP.NET/ASP.NET Core
CPU-Auslastung ja ja ja
Speicherauslastung ja ja ja
GPU-Nutzung ja ja nein
Anwendungszeitachse ja (XAML) ja nein
PerfTips ja ja für XAML, nicht für HTML ja
Leistungs-Explorer ja nein ja
IntelliTrace Nur .NET mit Visual Studio Enterprise Nur .NET mit Visual Studio Enterprise Nur .NET mit Visual Studio Enterprise
Netzwerkverwendung nein ja nein
HTML UI responsiveness Nein ja für HTML, nicht für XAML Nein
JavaScript-Speicher Nein ja für HTML, nicht für XAML Nein

Siehe auch