Hast Du schon einmal überprüft, was denn so eine völlig neue WPF Applikation an Ressourcen wie Speicher und CPU verbraucht, wieviel Threads laufen, wieviel Klassen geladen werden?
Der Process Explorer von Microsoft bringt es ans Licht, einfach mal Rechtsklick auf die Spalten und unter dem Reiter .NET die entsprechenden Spalten anzeigen lassen und die jeweilig zu testende Anwendung starten.
Bei mir bringt eine leere WPF Applikation folgendes zu Tage:
- 40 Methoden übersetzt (jitted)
- 20 Assemblies geladen
- 74 Runtime Checks
- 28.860 kb Working Set
- 11 Threads
- 50 User Objects
- 38 GDI Objects
- 30 Klassen
Ich verstehe hier nur nicht, die hohe Zahl an “User Objects”. Eine Applikation mit etwas Funktionalität, zeigt mir 27 Objekte. Wie kommen hier bei einer leeren, wo ich selbst auch keine Instanzen erstellt habe, eine so hohe Zahl zu Stande?!









Das Working Set (ca. 28 MB) zu betrachten bringt hier nichts: das Working Set ist die Menge an Speicher, die gerade im RAM ist. Möglicherweise braucht die Anwendung aber viel mehr, der Großteil befindet sich aber u.U in der Auslagerungsdatei. Damit das Working Set aussagekräftig ist, müsstest Du die Auslagerungsdatei abschalten. Viel interessanter ist Virtual Size, denn das beinhaltet beides (RAM und Auslagerungsdatei).
Noch ne Frage: betrachtest Du eine .NET 1.1 oder 2.0 Anwendung? Eine Konsolenanwendung oder WinForms?
Hallo Thomas,
ich hatte das damals anhand einer .NET 3.5 WPF Applikation eingesehen.