如何哪個平臺的開發,性能是至關重要的,尤其是移動開發,使用者最關心的是你的應用的回應速度其次才是創意。網上有很實用的工具叫EQATEC Profiler ,這是一個針對.NET平臺的一個性能分析器,可以分析WP7 而面載入、執行的效率時間,不過針對 WP7有幾點限制,最大的限制是其不支援XNA 開發的WP7程式,以下是其限制清單:

Only WP7 Silverlight apps are supported for now, not WP7 XNA apps
Constructors are not timed due to a WP7 IL-verifier problem
The profiler cannot at present take an automatic snapshot when the WP7 app closes, so you must take snapshots manually during the execution.
WP7 is very new technology; the APIs may change and potentially break the profiler. We'll strive to stay ahead and appreciate any WP7-feedback from you all.
下載位址:點擊我

進入該網址,填寫幾個必要資訊即可,他會把下載位址發到你郵箱,進入你的郵箱點擊對應連結下載即可,不過下載速度,真他N的慢。下載完後,直接安裝即可,不用配置。

好了,下面我們就用兩段代碼來測試它的分析效果吧。

要測試的頁面效果如下:

29170152_5h41  



點擊按鈕後,會執行一個方法,這裡我們編寫兩個相同名稱的方法,分不同時候載入,然後看載入後兩個方法的執行效率如何,代碼如下:


01 void test()

02 {

03 string a = "";

04 for (int i = 0; i < 10000; i++)

05 {

06

07 a += i.ToString() + "\r\n";

08

09 }

10 tb_test.Text = a;

11 }

12

13 void test()

14 {

15 StringBuilder sb = new StringBuilder();

16 for (int i = 0; i < 10000; i++)

17 {

18

19 sb.Append(i.ToString() + "\r\n");

20 }

21 tb_test.Text = sb.ToString();

22 }


好了,開始使用這個工具。

為了安全起見,我們先把代碼編譯一遍,確認沒有報錯才打開該工具。

該工具的起始介面如下 :

29170152_OM3J  

如上圖,App path:是你當前要測試的應用程式Bin 下面的Debug 目錄,如果正確的話它會預設勾選上你的dll檔。之後點擊右下角的Build按鈕,顯示Done 執編譯通過:

29170152_tgiT  

通過後,旁邊的Run app 按鈕會可用,點擊它啟動設備,如果你是用的手機測試的話,不是用手機則選擇Emulator選項,同時點擊Run

29170152_WTGl  

注意,如果此時無法打開模擬器或者報當前資源正在使用,請把你打開的模擬器關掉,重新運行。確保一切沒問題後,EQATEC Profile 會為我們打開一個模擬器,並導航到我們要APP介面。



點擊上面的按鈕,等程式執行完畢後,點擊EQATEC Profile 的RUN選項卡,點擊該介面上的Take snapshot 按鈕,可以得到一份執行效率日誌表,如下圖:
29170152_89J6  


第一次我們執行的是第一個代碼的方法,選中我們生成的日誌,點擊右下方的VIEW按鈕,可以查看一份詳細的執行效率,如下 圖:

29170152_DQIf  



如上圖,MainPage裡面的test 方法執行時間為3351MS,多麼耗時的一個操作,換第二個方法試試:


29170152_NJFt  
看看mainPage裡面的test 方法執行時間是多長,89MS,相差多大,多麼神奇的東西,居家必備、殺人越貨的的東西呀。。。

這個工具用到這裡,己經感覺很強大了,最後一個選項卡是可以把兩個日誌拿起來對比,它會告訴你,你的第二個日誌是好的還是差的,比如比第一個好會標誌綠色字體,而差則會顯示紅色字體,如下圖如示:

29170152_PY3w  

 

創作者介紹
創作者 shadow 的頭像
shadow

資訊園

shadow 發表在 痞客邦 留言(0) 人氣()