Как начать сеанс профилирования в виндовс 10

Обновлено: 30.06.2024

Microsoft решила оставить пользователей Windows 10 для ARM без эмуляции х64-программ для обычных ПК на Intel или AMD. Эта функция была анонсирована еще год назад и добавлена затем в тестовые версии, но в итоге без объяснения причин была безальтернативно перенесена в Windows 11.

Невыполненное обещание Microsoft

Корпорация Microsoft открыла для себя новый способ ускорить переход пользователей с шестилетней Windows 10 на более современную Windows 11. Как пишет портал Tom’s Hardware, она решила не внедрять в Windows 10 для ARM-процессоров эмуляцию х64-приложений.

Эта функция останется уникальной для Windows 11, в которой по умолчанию реализована поддержка ARM-процессоров. Эмуляция х64-приложений в Windows 10 для ARM, в действительности, тоже предполагалась. Microsoft еще осенью 2020 г. пообещала реализовать ее, но спустя год свое слово в итоге не сдержала.

Данная опция впоследствии действительно появилась в Windows 10, но исключительно в составе тестовых сборок, доступа к которым у обычных пользователей, как известно, нет. Бета-тестеры и разработчики тестировали х64-эмуляцию именно под Windows 10, но теперь Microsoft объявила о сворачивании программы и релизе стабильной ее версии под Windows 11 для ARM.

armwin600.jpg

Лишение Winows 10 полезных функций вполне можно считать еще одним инструментом переманивания пользователей на Windows 11

Крайне полезная функция

Эмулятор х64-приложений в Windows 11 для ARM позволяет пользователям, купившим компьютер с процессором на ARM-архитектуре, запускать программы, разработанные для ПК на базе современных чипов Intel или AMD. Другими словами, на ноутбуке, собранном на каком-нибудь Qualcomm Snapdragon, при помощи такого эмулятора можно запускать программы, еще не адаптированные под ARM. А таких программ много – абсолютное большинство из числа тех, что когда-либо были написаны под Windows.

Microsoft не спешит объяснять официальную причину своего отказа от внедрения эмулятора х64 в состав Windows 10 для ARM. Но совершенно очевиден тот факт, что если бы данная функция появилась в составе этой системы, то пользователи бы гораздо менее охотно переходили на Windows 11.

armwin601.jpg

Samsung Galaxy Book S - один из немногих ARM-ноутбуков, соответствующих системным требованиям Windows 11

Нечто подобное в своей macOS уже дважды реализовывала компания Apple. В 2020 г. она перешла на ARM-процессоры собственной разработки и встроила в macOS эмулятор Rosetta 2, позволяющий почти беспрепятственно запускать на новых Mac программы, написанные под чипы Intel. В 2006 г., когда Apple осуществляла переход с PowerPC на Intel, она запустила аналогичный эмулятор Rosetta первого поколения. Его представлял лично основатель Apple Стив Джобс (Steve Jobs), умерший в октябре 2011 г.

У пользователей есть только два пути

В настоящее время у пользователей есть два варианта того, как им отреагировать на нарушение обещаний, данных Microsoft. Первый подразумевает отказ от надежд начать пользоваться х64-программами для ПК и ноутбуков на AMD и Intel и продолжение работы в привычной Windows 10 для ARM. Второй вариант заключается в переходе на Windows 11, которая известна своими завышенными требованиями к «железу» и пока еще очень скудным списком поддерживаемых ARM. Это означает, что не каждый компьютер пригоден для перехода на нее.

armwin603.jpg

До Android с ее десятками поддерживаемых ARM-процессоров Windows 11 очень и очень далеко

Добавим, что Windows 10 сама по себе продолжает свое существование. Еще летом 2021 г. Microsoft заявила, что обновления для этой операционной системы будут выходить до октября 2025 г.

Другие сюрпризы Microsoft

Windows 11, анонсированная в конце июня 2021 г. и вышедшая в начале октября 2021 г., по праву можно считать самой непредсказуемой операционкой семейства Windows. Она содержит немало количество отличий даже от своей предшественницы – Windows 10.


В качестве примера можно привести неожиданно почерневший «синий экран смерти», не менявший оттенок своего фона на протяжении почти 40 лет. Справедливости ради стоит отметить, что в ноябре 2021 г. Microsoft без объяснения причин вновь сделала его синим, хотя и пока лишь в тестовых сборках.

Помимо этого, в ноябре 2021 г. Microsoft выпустила урезанную версию Windows 11 под названием Windows 11 SE, ориентированную на ноутбуки самого базового уровня. Сюрприз здесь в том, что если вдруг система выйдет из строя, и ее потребуется переустановить, то сделать этого будет нельзя. Пользователи попросту не смогут установить эту же ОС на устройство повторно.

Кроме того, Windows 11 SE не будет распространяться в виде отдельного дистрибутива, в отличие от полноценной Windows 11. Это означает, что пользователи не смогут установить ее на сторонние компьютеры или ноутбуки с процессорами ARM, по крайней мере, легальными методами.

Также Windows 11 известна своей нелюбовью к процессорам AMD. Без соответствующего патча она замедляет их работу – в некоторых программах производительность может падать на 15%. А с учетом того, что не все компьютеры на базе этой ОС будут получать обновления для нее, ситуация с замедлением Ryzen может не решаться годами.

Visual Studio предлагает различные средства для измерения производительности и профилирования. Некоторые средства, такие как "Загрузка ЦП" и "Использование памяти", можно запустить с отладчиком или без него, а также с конфигурациями сборок отладки или выпуска. Средства, отображаемые в окне Средства диагностики, запускаются только во время сеанса отладки. Средства, отображаемые в области Профилировщик производительности запускаются без отладчика, а анализ результатов следует выполнять после того, как вы решили приостановить приложение и выполнить сбор данных (для заключительного анализа).

Вы можете использовать средства оценки производительности, не относящиеся к отладчику, в Windows 7 и более поздних версий. Для выполнения интегрированных в отладчик средств профилирования требуется Windows 8 или более поздней версии.

Не связанный с отладчиком Профилировщик производительности и встроенные в отладчик Средства диагностики предоставляют разные сведения и интерфейсы. Интегрированные в отладчик средства показывают значения переменных и позволяют использовать точки останова. Не связанные с отладчиком средства дают результаты, которые ближе к взаимодействию с конечным пользователем.

Чтобы определить, какие средства и результаты для этого нужно использовать, примите во внимание следующее:

Сбор данных профилирования во время отладки

Если запустить отладку в Visual Studio, выбрав элементы Отладка > Начать отладку или нажав клавишу F5, по умолчанию отображается окно Средства диагностики. Чтобы открыть его вручную, выберите Отладка > Окна > Отображение средств диагностики. Окно Средства диагностики содержит сведения о событиях, памяти процессов и загрузке ЦП.

Моментальный снимок в окне Средства диагностики

Используйте значок Параметры на панели инструментов, чтобы указать, требуется ли просматривать показатели Использование памяти, Анализ пользовательского интерфейса и Загрузка ЦП.

В раскрывающемся списке Параметры выберите пункт Параметры, чтобы открыть страницы свойств Средств диагностики с дополнительными параметрами.

В Visual Studio Enterprise можно включить или отключить IntelliTrace, последовательно выбрав пункты Сервис > Параметры > IntelliTrace.

Сеанс диагностики закончится при остановке отладки.

Дополнительные сведения можно найти в разделе

Вкладка "События"

Во время сеанса отладки на вкладке "События" окна "Средства диагностики" отображаются возникающие диагностические события. Префиксы категории Точка останова, Файл и другие позволяют быстро просмотреть список в поисках нужной категории или пропустить категории, которые вас не интересуют.

Для фильтрации событий в представлении можно использовать раскрывающийся список Фильтр, выбирая определенные категории событий или отменяя их выбор.

Снимок экрана фильтра диагностических событий

Чтобы найти определенную строку в списке событий, используйте поле поиска. Здесь показаны результаты поиска строки name, которой соответствуют четыре события:

Снимок экрана поиска диагностических событий

Сбор данных профилирования без отладки

Для сбора данных о производительности без отладки можно запустить средства Профилировщика производительности.

В открытом проекте в Visual Studio установите для решения конфигурацию Выпуск и выберите цель развертывания Локальный отладчик Windows (или Локальный компьютер).

Выберите Отладка > Профилировщик производительности или нажмите сочетание клавиш ALT+F2.

На странице запуска средств диагностики выберите режим запуска одного или нескольких средств. Отображаются только те средства, которые применимы к типу проекта, операционной системе и языку программирования. Выберите Показать все инструменты, чтобы просмотреть средства, отключенные для этого диагностического сеанса.

Снимок экрана средств диагностики

Для запуска диагностического сеанса нажмите кнопку Запуск.

Во время выполнения сеанса некоторые средства отображают на странице средств диагностики графы данных в режиме реального времени, а также элементы управления для приостановки и возобновления сбора данных.

Снимок экрана сбора данных в Профилировщике производительности

Для завершения диагностического сеанса выберите команду Остановить сбор.

Проанализированные данные отображаются на странице Отчет.

Вы также можете сохранить отчеты и открыть их из списка Последние сеансы на странице запуска Средств диагностики.

Аватар пользователя

Со временем новая «машина» начинает работать медленно, чаще «фризит», ведь она обрастает всевозможными приложениями и файлами. Помочь компьютеру работать быстрее можно без особых трат и дополнительных покупок «железа».

Рассмотрим два способа увеличения мощности:

  • «Кардинальный» метод.
  • Максимальная производительность.

«Кардинальный» метод заключается в установке чистого образа Windows 10.

Microsoft в 2016 году выпустила редакции Windows 10: LTSB и LTSC.

В данных версиях отсутствуют: браузер Edge, Microsoft Store, игровой режим, OneDrive, плиточные приложения и виджеты, привычный калькулятор, а также другие привычные компоненты. Система активирована лицензией Evalution на 90 дней.

Как один из вариантов для слабых машин.

Вторым вариантом данного метода является установка Windows 10 Lite созданной на базе официальной русской версии Windows 10 x64 скачанной с официального сайта Microsoft с изъятыми компонентами и отключенными службами. Данная сборка лучше подходит для слабых «машин», чем Windows 10 LTSB/LTSC.

Вот небольшой список изъятых приложений: Подсистема для Linux, Windows Hello, Cortana, MS Edge, FileExplorer, StorageService, Virtualization RemoteFX и другие (полный список можно посмотреть по ссылке: перечень изъятых приложений.

Сборка является неофициальным продуктом компании Microsoft. В статье приведена информация для ознакомления.

Максимальная производительность

При запуске устройства свою работу начинают установленные программы. Зачастую программы оказываются совсем ненужными и приносят только вред вашей ОС. Программы работают в фоновом режиме и сильно замедляют ПК, даже если вы этого и не подозреваете. Для того чтобы улучшить производительность на этапе старта, следует отключить некоторые программы в меню автозагрузки.

Автозагрузка компьютера

Для начала кликаем на «Пуск» / панель рабочего стола правой кнопкой мыши, и в списке ищем «Диспетчер задач» или же нажимаем Ctrl+Alt+Del.


Кликаем по «Диспетчер устройств», ждем запуска. После этого всплывёт диалоговое окно, где мы можно увидеть загруженность компьютера различными процессами, его быстродействие и т.д. Нам нужно перейти в меню автозагрузки.


Внимательно изучаем, какие программы действительно нужны. Убираем их из автозагрузки, посредством нажатия правой кнопки мыши по приложению и выбора пункта «Отключить».


Очистка папки Tem

В ОС Windows 10 имеется папка с временными файлами под названием Temp, файлы которой замедляют систему.


Очищаем папку и перезагружаем компьютер.

Очистка диска

Необходимо зайти в «Этот компьютер», кликнуть второй кнопкой мыши на значок системного/локального диска (обычно диск С), из списка выбрать пункт «Свойства», затем «Очистка диска».




В открывшимся окошке стоит выбрать те пункты, которые подлежат очистку (например, корзина, временные файлы интернета, загруженные файлы программ и очистка обновлений Windows).


Выбрав нужные пункты нажимаем «Очистить системные файлы».


Отключение ненужных служб

Для вызова «Выполнить»: кликаем на «Пуск» правой кнопкой мыши или вызываем сочетание клавиш Win+R, и в списке ищем «Выполнить».


При появлении диалогового окна «Выполнить» вписываем в строку ввода: services.msc



Откроется окно «Службы». Стоит остаться в режиме «Расширенный», чтобы располагать большей информацией.


Ищем ненужную службу и кликаем на нее правой кнопкой мыши, далее кликаем на «свойства» и нажимаем на кнопку «Остановить» (ниже будет приведен список служб, которые можно отключить).




Список служб, которые можно отключить можно найти по ссылке.

Если некоторые службы из списка отсутствуют, значит они отсутствуют в вашей сборке.

Настройка схем электропитания

Правой кнопкой мыши нажимаем на значок «Пуск» и жмем «Параметры».


Заходим в «Система», жмем пункт «Питание и спящий режим», далее «Дополнительные параметры питания».




В открывшимся окошке электропитания выбираем «Высокая производительность», в случае мощного железа «Максимальная производительность».


Существует также второй способ входа в пункт «Электропитания», через значок батареи, если у вас ноутбук.


Несколько простых советов:

  • Проверка компьютера на вирусы с помощью встроенного или стороннего антивируса. Для этого хорошо подойдет AdwCleaner, установили почистили и удалили, если не хотите захламлять ОС.
Существует множество вирусов, влияющих на быстродействие системы, особенно различные крипто майнеры.
  • Очистка комплектующих ПК/ноутбука. Следует аккуратно очистить компьютер от пыли, не задевая мелких деталей. Также на производительность компьютера хорошо скажется замена термоинтерфейса.

Если у вас недостаточно навыков для этого, доверьтесь специалистам.

  • Использование стороннего софта для очистки ненужного кэша, временных файлов и прочего мусора. Главное условие — это скачивание с проверенных источников, а лучше с официального сайта. Например, Ccleaner.
  • Обновление драйверов. Можно осуществить как через «Центр обновлений», так и через сторонний софт, например, DriverPack Solution.

При установке всегда проверяйте «галочки», где вам предлагают скачать доп. софт.

Настройка визуальных эффектов рабочего стола

Заходим в «Пуск», папка Служебные-Windows, далее нажимаем на «Панель управления».


Далее «Система и безопасность», «Система».



В «Системе» нажимаем на «Дополнительные параметры».


В открывшимся окне «Свойства системы», в листе «Дополнительные» кликаем на «параметры быстродействия».


Кликаем на «Обеспечить наилучшее быстродействие», тут же все галочки спадают.


Есть одно «НО», если вы работаете с картинками или фотографиями «Вывод эскизов вместо значков» вам пригодится, поэтому его стоит оставить. Также стоит оставить такой параметр, как «Сглаживание неровностей экранных шрифтов», поскольку без них текст будет «резать» глаза.


Способов повышения быстродействия ПК/ноутбука достаточно много. Зачастую методы, достаточно, простые и их можно спокойно применять обычному «Юзеру». При хорошем быстродействии ОС пользование ПК приносит удовольствие и не вызывает раздражения. Самое главное не стоит использовать сомнительные способы, при котором состояние компьютера ухудшится.


  • PerfTip
  • Режим Edit & Continue для x64-систем
  • Lambda Expression Evaluation в Watch and Immediate Window
  • Diagnostic Tools Window
  • Live Visual Tree и Live Property Explorer
  • Diagnostic Tools Hub

PerfTip

Debugging tips — это маленькие подсказки, всплывающие в ходе отладочной сессии и отображающие значения переменных. Они уже давно присутствуют в VS и, думаю, все с ними знакомы. Теперь вместо них PerfTip выполняет ту же цель: облегчает отладку и повышает её продуктивность. В отличие от Debugging tips, в PerfTip при перемещении по коду отображается информация о тайминге. Раньше нам приходилось собирать тайминги построчно, вставляя код для проведения измерений, вроде класса System.Diagnostics.Stopwatch . Но теперь необходимость в этом отпала: PerfTip умеет измерять время, прошедшее между двумя остановками отладчика. Причём не имеет значения, используете ли вы Step Into, Step Over или Run to Cursor для измерения лишь одной инструкции или целого блока кода. Тайминги отображаются как в PerfTip, так и в виде списка в Diagnostic Tools Window).



PerfTip показывает, что на выполнение метода BuildOpenMenu () ушло 1,357 секунды.

Режим Edit & Continue для x64-систем

Функциональность “edit and continue” появился в VS несколько лет назад, но раньше он мог использоваться только для отладки 32-битных процессов. В этом режиме вы можете модифицировать код, не выходя из отладочной сессии. При этом он перекомпилируется в фоне и сразу готов к использованию. Преимущества очевидны: вы можете построчно выполнять код, анализировать результат, модифицировать, перемещать курсор оператора перехода на позицию перед модифицируемой строкой и вновь её выполнять. И вам даже не понадобится перезапускать отладчик.

Вычисление лямбда-выражений в Watch and Immediate Window

VS 2015 теперь поддерживает вычисление лямбда-выражений в отладочных окнах. Это бывает удобно, например, при анализе коллекций. Допустим, у вас есть список людей на 50 000 записей, и вам нужно найти человека с фамилией Meyer. Раньше это можно было сделать лишь одним способом: добавив коллекцию в окно просмотра (watch window), развернув её и пролистав весь список вручную. Не слишком увлекательный и эффективный процесс, особенно, если список велик. Теперь же вы можете найти нужную запись с помощью простого LINQ-выражения:


Diagnostic Tools Window

В ходе отладки в этом окне можно применять инструменты для профилирования. Чтобы его открыть, выберите пункт Show Diagnostic Tools в меню Debug. По умолчанию в нём будут отображены графики загрузки процессора и памяти. Жёлтые маркеры обозначают работу сборщика мусора. В предыдущих версиях VC все эти данные можно было получить только во время сессии профилирования. Теперь же, вместо многократной процедуры записи и анализа, вы можете наблюдать за поведением системы в реальном времени в процессе отладки. Вы сразу обнаружите всплески в использовании ресурсов, в том числе при сборе мусора, и сможете сопоставить их с отлаживаемым фрагментом кода или действием, выполняемым в интерфейсе.


Другим важным нововведением стал список всех PerfTip. Каждый раз, когда отладчик останавливается и выводит PerfTip, он добавляет новое измерение список в Diagnostic Tools Window. Благодаря этому списку вы можете наблюдать за замерами времени и быстро переходить к соответствующим строкам.

Окно диагностики позволяет не только оценить загрузку процессора и памяти, но и записать одним кликом слепок управляемой памяти. При этом система автоматически подсчитает и отобразит количество объектов в куче, а также их общий размер в байтах. На эти значения можно кликнуть и посмотреть подробный список всех объектов, присутствующих в памяти. Всё это позволяет быстро обнаружить причины каких-либо проблем с памятью, например, утечек. Обратите внимание, что данный инструмент полностью интегрирован в отладчик и не требует его перезапуска.

Live Visual Tree и Live Property Explorer

Это два инструмента, разработанные специально для WPF-приложений (Windows Presentation Foundation) и универсальных приложений. С их помощью можно анализировать запущенную программу, отобразив её в качестве «визуального дерева» (visual tree). Визуальное дерево — это внутреннее представление пользовательского интерфейса, содержащее все видимые элементы приложения. Получается очень похоже на инструменты для веб-разработчиков, запускаемые в браузерах командой «исследовать элемент». Визуальное дерево позволяет одним кликом выбрать элемент пользовательского интерфейса, просмотреть и изменить как сам элемент, так и его свойства. Все изменения сразу будут применены в запущенном приложении. А раньше это можно было сделать только с помощью сторонних приложений, например, Snoop или WPF Inspector.

На иллюстрации ниже представлен пример визуального дерева WPF-приложения. Слева представлена программа Family.Show, её референсная WPF-реализация создана компанией Vertigo и доступна для скачивания на Codeplex. На иллюстрации выделена фотография принца Чарльза, и её свойства отображены справа в Live Visual Tree. Дерево начинается с класса MainWindow и развёрнуто вплоть до выбранного объекта. А в колонке справа отображается количество дочерних объектов для каждого визуального элемента.


Если кликнуть правой кнопкой на объекте внутри дерева, то появится контекстное меню. В нём есть полезные пункты Go to source и Show Properties. Первый открывает файл XAML, содержащий определение элемента. А второй пункт запускает Live Property Explorer.

Здесь представлены свойства элемента и их значения. При этом Live Property Explorer позволяет группировать свойства по происхождению их значений. Из иллюстрации видно, что значения бывают по умолчанию, вычисленные, унаследованные и локальные. Также они могут быть получены из файла определения стилей XAML. Все значения можно изменять прямо в Live Property Explorer и сразу наблюдать, какой эффект это оказывает на работающее приложение.


Diagnostic Tools Hub

Этот инструмент появился в Visual Studio 2013. Запустить его можно через Debug -> Start Diagnostic Tools without Debugging, он является точкой запуска для всех инструментов, имеющих отношение к производительности и диагностике. Diagnostic Tools Hub представляет собой набор многочисленных маленьких инструментов, каждый из которых измеряет, записывает, вычисляет и отображает в окне Visual Studio только какой-то один параметр. Все инструменты используют единую структуру визуализации данных в виде временной шкалы с подробностями по каждой записи. Шкала представляет собой гистограмму основного измерения, на которой могут отображаться пользовательские маркеры для особых событий или значений. Можно просматривать данные более подробно, при этом форма отображения будет разной для всех инструментов. Так что при желании можно более детально изучить параметры любого измерения и вывести общую информацию в виде круговой диаграммы. Поскольку формат вывода у всех инструментов общий, то в течение одной сессии можно одновременно запускать несколько инструментов, просматривая результаты их измерений в компактном виде. Например, можно скомбинировать индикатор активности пользовательского интерфейса и уровень загрузки процессора. Раньше эти инструменты были заточены, в основном, под приложения для Windows Store. Благодаря своей простоте и унифицированному дизайну набор инструментов очень часто обновляется, и в VS 2015 многие из них поддерживают и другие технологии, например Windows Presentation Foundation.

Старый профилировщик в Visual Studio, умевший измерять загрузку процессора и памяти, не вписывался в концепцию маленьких диагностических инструментов со стандартным форматом вывода данных. Поэтому ради обратной совместимости его интегрировали в Diagnostic Tools Hub. Создатели VS планируют постепенно распределить функциональность профилировщика по нескольким отдельным инструментам, доступным из хаба.

Итак, какой же набор инструментов представлен в Diagnostic Tools Hub в Visual Studio 2015:

  • Application Timeline: позволяет мониторить активность UI-потока приложений, основанных на XAML
  • CPU Usage: использование процессора ()
  • GPU Usage: отображает выполняемые графической картой инструкции для DirectX-приложений
  • Memory Usage: отображает потребление памяти для обнаружения утечек
  • Performance Wizard: старый профилировщик Visual Studio
  • Energy Consumption: отображает расчётное потребление энергии для мобильных устройств
  • HTML UI Responsiveness: позволяет мониторить активность UI-потока приложений, основанных на HTML
  • JavaScript Memory: анализирует использование памяти в HTML-приложениях
  • Network: профилирует сетевой трафик


Далее приведён пример подробной детализации той же сессии. События разбиты по категориям и отображены в виде полосок, длина которых соответствует продолжительности каждого события. Это позволяет очень легко оценить, сколько времени у вас занял парсинг, вывод макета, чтение и запись с диска или сборка мусора. Некоторые события можно развернуть в виде дерева для ещё более подробного изучения.


Заключение

В Visual Studio 2015 есть много замечательных возможностей по отладке, диагностике и профилированию, которые могут помочь поднять производительность разработчика. Все упомянутые инструменты есть в каждой редакции VS, вплоть до бесплатной Visual Studio Community Edition. Здесь вы найдёте для себя всё необходимое. При этом впервые в истории VS профилирование можно осуществлять прямо во время отладки. В Visual Studio 2015 профилирование приложений объединено с процессом удобной отладки, ежедневно применяемой разработчиками.

Читайте также: