改善 Windows 應用程式的回應性
本指南將透過最佳化啟動延遲和關鍵互動,協助您改善 Windows 應用程式的回應性。 快速回應的互動 (也稱為低延遲互動) 可創造更佳的使用者體驗。 了解互動期望、測量目前持續時間,並根據互動類型設定改善目標,可以顯著提升您的使用者體驗和滿意度。
最佳化互動以達到回應行為的逐步指南
客戶能感受到應用程式啟動、功能表瀏覽或頁面/內容載入速度慢。 他們期待快速、流暢的體驗,我們在下面分享了一些步驟和指引,以更瞭解這些期望。
延遲最佳化的基本步驟如下:
定義案例並新增 TraceLogging 事件。
列出使用者在使用應用程式時會經歷的關鍵互動清單,例如啟動、開啟功能表、瀏覽至新頁面和轉譯內容等。針對每個互動,新增用於測量和分析的開始事件和結束事件。 深入了解如何新增 TraceLogging,這是用於 Windows 事件追蹤 (ETW) 的自我描述格式。
根據互動類別設定目標。
根據互動類型,使用者對於應用程式的效能和回應性有不同的期望。 例如,對應用程式啟動的速度與頁面載入的速度會有不同的期待。 考慮使用者完成應用程式中關鍵互動所需的合理時間範圍。 這可能從 200 毫秒 (ms) 到 5 秒 (sec) 不等。 然後將每個工作指派一個互動類別標籤與相關聯的目標。 以下是一些基本指導方針,以及如何包含使用者介面 (UI) 以改善回應性感知的建議:
Interaction 類別標籤 | 使用者感知 | 延遲範圍 | 範例 | 建議的 UI |
---|---|---|---|---|
快速 | 可感受到的最小延遲 | 100-200 毫秒 | 開啟應用程式列,以滑鼠右鍵按一下功能表 | |
互動式 | 迅速,但不是飛快 | 300-500 毫秒 | 結束應用程式,顯示快取的搜尋結果 | |
暫停 | 不快,但感覺有回應 | 500 毫秒 - 1 秒 | 瀏覽到其他頁面,從暫停狀態恢復應用程式,顯示網頁搜尋結果。 | 使用一段進場動畫 (例如,飛入新內容) 可以用來掩蓋這種案例所需的時間。 |
等候 | 由於案例的工作量太大,所以速度不快 | 1 - 3 秒 | 啟動應用程式 | 可以使用旋轉/等待游標來標記進度。 這個案例可以使用退場動畫和進場動畫 (例如,飛出舊頁面,飛入新頁面) 來掩蓋所花費的時間。 |
長時間等候 | 不再感覺有回應 | 2 - 5 秒 | 啟動大型應用程式 (使用延伸啟動顯示畫面),開始 HD 視訊串流。 | 顯示「載入中 UI」 - 如有可能,請包含可供使用者「取消」的選項。 載入中 UI 應該出現在 Fast 互動類別中。 載入中 UI 不需要顯示剩餘百分比或剩餘時間。 |
停滯 | 長時間等候 – 保留給不可避免的長時間/複雜案例 | 5 - 10 秒 | 系統記錄檔 | 顯示「載入中 UI」或對話方塊 - 如有可能,請包含可供使用者「取消」的選項。 對話方塊應該會出現在 Fast 互動類別中。 如果此對話方塊會為使用者提供有用的內容,對話方塊應該會顯示剩餘百分比或剩餘時間。 |
長時間執行 | 長時間操作 – 使用者可能會進行多工處理 (在操作期間切換至其他工作) | 10 - 超過 30 秒 | 安裝新功能或更新、下載大型檔案 | UI 的設計應該反映出多工處理的可能性。 應該顯示進度對話方塊,包括完成估計值 (百分比、剩餘時間等)。 或者,UI 可以完全最小化,而且只有在案例使用快顯通知完成時,才會通知使用者。 |
若要檢查特定互動的確切持續時間,您可以使用 Windows 效能分析器 (WPA) 來擷取和分析追蹤。
分析追蹤並尋找改善的機會。
開啟您剛才在 Windows 效能分析器 (WPA) 中擷取的追蹤,分析應用程式所支援之每個關鍵互動的持續時間。
- 若要在 WPA 中開啟追蹤,請在命令列中輸入:
wpa.exe Trace.etl
- 展開 [系統活動] 下拉式清單,然後按兩下 [一般事件] 以開啟分析檢視。
- 請選擇與您的應用程式相關的事件系列,並展開 [提供者名稱] 下拉式清單,直到找到與您尋找的關鍵互動相關的處理序、任務名稱和事件名稱。 互動事件的持續時間會列在 [時間] 資料欄以及圖表中,顯示 [持續時間]、[開始時間] 和 [結束時間]。
若您的追蹤所花費的時間未達到互動類目標 (例如:500 毫秒),請識別應用程式的關鍵執行緒 (很可能是使用者介面執行緒),並查看 CPU 使用率和等待的最上層堆疊。 *請記住,當您執行分析時,某些問題可能不是專屬於您自己的應用程式程序代碼。
- 若要在 WPA 中開啟追蹤,請在命令列中輸入: