2011-03-10 18 views
6

Uygulamamın performansını belirli görevler için denemek ve iyileştirmek istiyorum. Denemek istediğim birkaç fikir var ama 'önce' ve 'sonra' performanslarını niceliksel olarak nasıl ölçebileceğimi bilmiyorum.WP7 - Performans iyileştirmeleri ölçme

WP7'de bunu yapmanın en iyi yolu nedir? Bunu hem taklitçide hem de bir cihazda yapabilirsem hoş olurdu. Yardımlarınız için

sayesinde Ashish

DÜZENLEME:

ben sayfa yükleme süreleri ile başta endişeliyim. Uygulama, yalıtılmış bir XML dosyasından okur ve ListBox'u doldurur. Şu anda ListBox doldurmadan önce tüm dosyayı okumak için XDocument ve LINQ kullanıyorum.

XmlReader'u kullanmaya ve okudukları şekilde öğe eklemeye geçmek istiyorum. İdeal olarak, okuma işlemi ayrı bir iş parçacığında gerçekleşir ve ListBox'un bağlı olduğu öğelere ObservableCollection öğelerine bir kerede (veya daha iyi bir performansa sahipse bir avuç dolusu) bir tane ekleyebilirim.

Şimdiye kadar verdiğiniz yanıtlar için teşekkürler, operasyonları zamanlamak için hem profiler hem de yüksek çözünürlüklü sayacı inceleyeceğim.

cevap

3

EQATEC WP7 Profiler verecektir. Sadece ücretsiz sürümü kullandım ama kesinlikle çok yardımcı oldu.

+0

Profiler güzel, ama büyük bir dezavantajı var. Her zaman uygulamayı kaldırır ve yeniden yükler. Bu mendil izole depolama ve onun XML dosyası ile birlikte. Bu yüzden bunun için bazı geçici çözüm bulmak zorundayım. – Praetorian

+0

Bir sonraki sürümde bu muhtemelen değişecektir, böylece profiler mümkünse uygulamayı yükler. Soru: Bazen uygulamanızı yeniden yüklemek ister misiniz, yoksa "her zaman yüklenir, ancak yükleme başarısız olursa yeniden yüklemeyi" ister miydiniz? (konu dışı özür dilerim) –

+0

@Richard Flamsholt: Şu anda, herhangi bir yeniden yüklememe ihtiyacım yok ama bazı durumlarda böyle bir seçeneğin nasıl yararlı olabileceğini görebiliyorum. Ancak, yeniden yüklemenin gerekli olduğunu belirlediğinde, profilleyicinin onay isteymesini istiyorum. Bu güncellemenin ne zaman müsait olabileceği hakkında bir fikrin var mı? – Praetorian

1

Zamanlama hakkında konuşuyorsanız, işlemden önce bir DateTime örneği oluşturabilir ve tamamlandıktan sonra çalışma zamanını alabilir ve yeni kod için de aynısını yapabilirsiniz.

+0

Daha doğru sonuçlar almak için 'DateTime' yerine' StopWatch' kullanılmalıdır. –

+0

Bu sınıfı bilmiyordum, teşekkürler. –

5

Yapabileceğiniz birkaç şey var.

Bu yazıyı özellikle yararlı buldum. http://www.geoffhudik.com/tech/2010/10/9/basic-windows-phone-7-diagnostics.html

Ayrıca, burada açıklandığı gibi bir şey denemek izlemek istediğiniz belirli kare hızı sorunları varsa: basit zamanlama iyileştirmeler ben DateTime nesnesi olarak daha yüksek çözünürlüklü zamanlayıcı kullanmak ise http://www.jeff.wilcox.name/2010/07/counters/

josh önerdi.

Stopwatch sınıf size iyileştirmeler, aynı zamanda gelecekteki gelişmelere odaklanmak için nereye karar vermenize yardımcı olacak gidiyoruz nasıl iyi zamanlamaları verecektir size daha doğru zamanlamaları