Поддержка маркеров класса Scenario
Класс Scenario можно бесплатно загрузить на веб-сайте коллекции кода MSDN. С помощью Scenario можно обозначить точную начальную и конечную точку участка кода, который необходимо профилировать. В Визуализаторе параллелизма эти маркеры отображаются в представлении потоков, представлении ядра и представлении использования ЦП. Для отображения имени, присвоенного маркеру, остановите указатель у горизонтальной черты.
Визуализатор параллелизма поддерживает маркеры Scenario в машинном и управляемом коде при выполнении следующих условий.
Поддерживаются методы Scenario.Begin, Scenario.BeginNew и Scenario.End. Методы Scenario.Mark и Scenario.Step не поддерживаются.
Маркеры Scenario с уровнем вложения больше нуля не поддерживаются.
Отслеживается один активный экземпляр Scenario не поток. Если событие Scenario.Begin было получено после того, как экземпляр Scenario стал активным, визуализатор параллелизма переопределит старое значение новым. Активный экземпляр Scenario будет закрыт при первом вызове Scenario.End в потоке, независимо от того, из какого экземпляра Scenario он поступил.
Добавление маркеров сценария в код
Загрузите файл Scenario.zip с начальной страницы сценариев на веб-сайте коллекции кода MSDN.
Распакуйте файл и отметьте, в каком месте была создана папка.
В проекте Visual Studio добавьте ссылку на соответствующий файл в машинном коде Scenario или управляемый DLL-файл. И для Visual Studio 2008, и для Visual Studio 2010 предусмотрены две версии: x86 и x64.
В управляемом коде добавьте оператор using или Imports для пространства имен Scenario.
В машинном коде добавьте файл Scenario.h, расположенный в папке \native\.
Создайте экземпляр класса Scenario для каждого потока, который необходимо обозначить. С помощью конструктора добавьте имя для маркера, чтобы оно отобразился в визуализаторе параллелизма.
Вызовите метод Begin, в который нужно поместить начальный маркер.
Вызовите метод End, в который нужно поместить конечный маркер.
Запустите визуализатор параллелизма. Маркеры должны отображаться в различных представлениях.
Дополнительные сведения о классе Scenario см. в документации на начальной странице скриптов.