共用方式為


使用火焰圖形識別熱路徑 (C#、Visual Basic、C++、F#)

針對 CPU 使用率與檢測的 Visual Studio 分析工具集包括 Flame Graph 檢視功能。 Flame Graph 透過顯示呼叫樹的視覺化,協助您識別程式碼中的 熱路徑熱路徑 是使用最多 CPU 或最多時間的函式呼叫堆疊,並且通常是尋找潛在效能優化的理想位置。 此圖表提供應用程式中所花費時間的視覺概觀,您可以按下特定節點以進一步深入探索這些節點。

螢幕快照,其中顯示具有上下文選單的火焰圖形。

如需示範如何使用火焰圖來改善效能的教學課程,請參閱 案例研究:將程式代碼優化的初學者指南。 如需 CPU 分析器的資訊,請參閱 使用 CPU 分析器分析效能

調查關鍵路徑

Flame Graph 視圖位於 .diagession 報表的詳細視圖中。

  1. 使用 CPU 使用量或檢測工具啟動分析工作階段

  2. 停止分析工作階段並載入報表之後,請選擇 [開啟詳細資料

    顯示已選取 [開啟詳細資訊] 的螢幕快照。

  3. 在 [目前檢視] 下拉式清單中選取 [Flame Graph]。

    顯示已選取 [火焰圖形] 檢視的螢幕快照。

    [火焰圖形] 檢視隨即出現。

    顯示 Flame Graph 概觀的螢幕快照。

    熱點路徑是指在呼叫樹狀結構中,使用最多 CPU 或最多時間資源的程式代碼路徑。

    根據預設,在 Flame Graph 中顯示的數據代表與數據收集期間 呼叫樹狀 檢視中顯示的相同數據。 具體來說,針對CPU使用量,它會顯示總CPU 值。 這個值是內含的,因此它包含呼叫函式所使用的CPU使用率(也就是CPU計算時間),以及函式所呼叫的任何其他函式。 同樣地,針對儀器化,圖表會顯示相當於呼叫樹視圖中 總計 數據欄的值。

    不過,如果您選取節點,選取的節點會變成新的基準,並使用 100% 火焰圖形寬度。 這可讓您更好地可視化複雜的呼叫樹狀結構,並在名稱被截斷或隱藏時檢視長名稱。 以下是火焰圖的範例,其中顯示更複雜的呼叫樹狀結構。

    顯示複雜呼叫樹的火焰圖的螢幕截圖。

    若要檢視任何節點的詳細數據,請選取節點。

    選擇 [重設縮放],以返回默認檢視。

    您也可以先選取節點,然後從快捷功能表中選擇 [在呼叫樹中檢視 ] 等選項,以瀏覽分析報告中的不同視圖。

    螢幕快照,其中顯示在呼叫樹狀結構中檢視的 Flame Graph 選項。

翻轉火焰圖形

根據預設,工具中的火焰圖會顯示為反轉或 板圖,其中 y 軸會從頂端的零向下計算堆疊深度。

您可以按下 [翻轉火焰圖來檢視標準火焰圖版面配置。

顯示已選取 [翻轉火焰圖形] 的螢幕快照。

針對複雜的火焰圖,您可以選取特定元素來縮放視覺效果。

在 [火焰圖形] 檢視中,您可以使用滑鼠點擊節點或使用鍵盤來導航。 此外,支援下列鍵盤快捷方式。

鍵盤快捷鍵 命令
標籤 移至任何節點
向上/向下箭號 移至節點的父系或子系
右箭頭/左箭頭 移至堆疊上的節點同層
進入 縮放(選擇)
逃脫 縮小