Определение горячих путей с помощью графа пламени (C#, Visual Basic, C++, F#)
Средства профилирования Visual Studio для использования ЦП и инструментирования включают представление "Диаграмма пламени". Диаграмма пламени помогает определить горячие пути в коде, показывая визуализацию дерева вызовов . Горячий путь — это стек вызовов для функций, использующих большую часть ЦП или больше всего времени, и часто является хорошим местом для поиска потенциальных оптимизаций производительности. График предоставляет визуальный обзор того, где время тратится в приложении, и вы можете щелкнуть определенные узлы, чтобы получить их дальше.
Руководство по улучшению производительности с помощью диаграммы пламени см . в руководстве по оптимизации кода для начинающих. Сведения о профилировщике ЦП см. в статье "Анализ производительности с помощью профилирования ЦП".
Изучение горячих путей
Представление "Диаграмма пламени" находится в представлении сведений отчета .diagession .
Запустите сеанс профилирования с помощью средства использования ЦП или инструментирования.
После остановки сеанса профилирования и загрузки отчета выберите "Открыть сведения".
Выберите "График пламени" в раскрывающемся списке "Текущее представление".
Откроется представление "Диаграмма пламени".
Горячий путь — это путь кода с использованием большинства ЦП или чаще всего при просмотре вниз по дереву вызова.
По умолчанию данные, отображаемые в графе "Пламя", представляют те же данные, что и в представлении дерева вызовов для периода сбора данных. В частности, для использования ЦП отображаются общие значения ЦП . Это значение является инклюзивным, поэтому оно включает использование ЦП (то есть время вычисления ЦП), используемое вызовами функции, и любые другие функции, вызываемые функцией. Таким же образом для инструментирования граф показывает значения, эквивалентные столбцу Total в представлении дерева вызовов.
Однако при выборе узла выбранный узел становится новым базовым и использует 100 % ширины диаграммы пламени. Это позволяет лучше визуализировать сложное дерево вызовов и просматривать длинные имена при усечении или скрытии. Ниже приведен пример диаграммы пламени, показывющей более сложное дерево вызовов.
Чтобы просмотреть сведения о любом узле, выберите узел.
Выберите "Сбросить масштаб" , чтобы вернуться в представление по умолчанию.
Вы также можете перейти к разным представлениям в отчете профилирования, выбрав узел, а затем выбрав параметр, например Вид в дереве вызовов в контекстном меню.
Перевернуть диаграмму пламени
По умолчанию диаграмма пламени в инструменте отображается вверх сзади или в виде диаграммы icicle, где ось Y подсчитывает глубину стека вниз от нуля в верхней части.
Вы можете просмотреть стандартный макет пламени, щелкнув "Флип Пламя граф".
Навигация по графику пламени
Для сложного графа пламени можно увеличить масштаб визуализации, выбрав определенные элементы.
В представлении "Диаграмма пламени" можно перемещаться, щелкнув узел мышью или с помощью клавиатуры. Кроме того, поддерживаются следующие сочетания клавиш.
Сочетания клавиш | Команда |
---|---|
Вкладка | Перейти к любому узлу |
СТРЕЛКА ВВЕРХ/ВНИЗ | Перейдите к родительскому или дочернему элементу узла |
Стрелка вправо или влево | Перейдите к одноранговой сети узла в стеке |
Введите | Масштабирование (выбор) |
ESCAPE | Уменьшить |