2009-08-06 13 views
10

Mam aplikacji WPF, która jest czasami zamrażania przez może pół minuty, a następnie działa dobrze. Mam zamiar profilować tę aplikację. Ktoś zna dobry samouczek, jak profilować aplikację WPF? Lub ktoś ma pomysł na znalezienie sposobu, aby wiedzieć, kiedy jest mróz? Zamrażanie nie jest spójne i nie jest powiązane z żadnym wzorcem użyciaProfilowanie WPF aplikacji

Dzięki za pomoc.

Ghassan

Odpowiedz

10

Jest to zestaw narzędzi w Windows SDK zwanego WPFPerf - posiada zestaw narzędzi (takich jak Perforator), które pomagają specjalnie z WPF debugowania i profilowania. Here's a quick guide w tych narzędziach.

Do ogólnego profilowania .net, RedGate Ants lub JetBrains' dotTrace są świetne. Jest też trochę profiling included in Visual Studio 2005/2008 (i lepsze w 2010?).

+0

Zgodnie z tym łączem (http://msdn.microsoft.com/en-us/library/ms182372%28v=vs.100%29.aspx) program VS2010 Performance Profiler nie jest dostępny we wszystkich wersjach. – kevinarpe

+0

@PhilipRieck: Jaka jest obecnie alternatywa dla pakietu WPF Performance Suite do profilowania aplikacji .NET 4.5? Byłbym bardzo wdzięczny, gdybyś rzucił okiem na moje pytanie [tutaj] (http://stackoverflow.com/q/33468572/3345644). –

1

Profilowanie to przesada. Przez pół minuty czeka na coś. Just pause it and see what it's waiting for.

+0

Chociaż zgadzam się, że jest to dobra technika do zastosowania w ogóle, nie zgadzam się, że jest ona zawsze spowodowana nieskończoną pętlą. Możliwe, że blokuje się niektóre API czekające na zasób. Istnieje wiele powodów, dla których Twój interfejs użytkownika może się zawiesić, a które nie są związane z nieskończoną pętlą. Mówię to tylko po to, aby upewnić się, że nikt nie ruszy na dziką gonitwę. –

+0

@Anderson: OK, ponownie napisałem to, aby wyjąć część "prawie nieskończonej pętli". Zasada jest taka sama. Przez pół minuty jest w stanie, w którym czeka na coś, po czym wznowi użyteczną pracę. Po prostu zatrzymaj to, a zobaczysz, na co czeka, czy to pętla niskiego poziomu, czy dostaniesz zasób, cokolwiek. Ludzie myślą, że to jest trudne, a tak nie jest. –