Индекс производительности windows 7 hdd

Есть в Windows 7 такой себе индекс производительности. Он якобы призван показать, подходит ли ваш компьютер для использования Windows 7. Однако, мы знаем страшную правду – этот рейтинг нужен исключительно для того, чтобы хвастаться перед друзьями.

И если в рейтинге оценка вашего жесткого диска оставляет желать лучшего – есть один простой способ, как ее можно повысить, не меняя жесткий диск на какой-то крутой с 15 тысячами оборотов.

Способов увеличить индекс производительности существует несколько. Их мы и рассмотрим.

Способ 1: программа Windows 7 rating changer

Самый простой способ – это, конечно же, использовать читерскую программу Windows 7 rating changer, которая позволяет “накрутить” индекс производительности так, как вам нужно.

Скачать Windows 7 rating changer

Скачайте программу. Прежде чем ее запустить, отключите UAC и перезагрузитесь – иначе установить программу будет нельзя. Программа простая как тапок – просто укажите те показатели индекса производительности Windows 7, что вам нужны, ничего сложного.

Windows 7 rating changer

Допустимые значения от 1 до 7,9. Менять можно как одно, так и несколько значений. Осталось щелкнуть на кнопке Save и закрыть окно программы. Теперь заново проверьте индекс производительности Windows 7 и наслаждайтесь крутыми цифрами.

Способ 2: изменение файла XML

Данный способ посложнее, но результат также будет весьма хорош. В первую очередь необходимо перейти в такую папку:

C:\Windows\Performance\WinSAT\DataStore

В этой папке откройте в любом текстовом редакторе файл Formal.Assessment (Initial).WinSAT. Таких файлов может быть несколько – в подобном случае выберите самый новый (смотрите по дате).

В открывшемся файле найдите блок <WinSPR> – именно там и находятся нужные нам значения.

XML

Изменить можно как одно значение, так и все сразу:

  • <SystemScore> – общая;
  • <MemoryScore> – оценка памяти;
  • <CpuScore> – оценка процессора;
  • <GraphicsScore> – оценка графики;
  • <GamingScore> – оценка графики для игр;
  • <DiskScore> – оценка жесткого диска.

Собственно говоря, достаточно изменить общую оценку SystemScore чтобы получить максимальную (или какую вам нужно) общую оценку. Ничто не мешает поставить 7,9 вообще всем компонентам – правда, это будет не слишком-то правдоподобно.

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

Осталось файл сохранить и дело в шляпе. Проведите оценку производительности заново и насладитесь новым рейтингом.

Выполнить издевательство над файлом XML можно только с правами администратора системы.

ЗЫ. Кое-кто считает что накручивание индекса производительности – странное и неблагодарное занятие. Мол, вот если бы производительность действительно росла, а так – увеличивается лишь циферка на рейтинге. Однако, почему бы и нет? На форумах многие мажоры, которым богатые родители дали денежек на компьютер, спамят своим горделивым рейтингом 7,9 – почему бы не сбить с поганцев немножко спеси? Это весело ^_^

Реализация DI в PHP

Jason-Webb 13.05.2025

Когда я начинал писать свой первый крупный PHP-проект, моя архитектура напоминала запутаный клубок спагетти. Классы создавали другие классы внутри себя, зависимости жостко прописывались в коде, а о. . .

Обработка изображений в реальном времени на C# с OpenCV

stackOverflow 13.05.2025

Объединение библиотеки компьютерного зрения OpenCV с современным языком программирования C# создаёт симбиоз, который открывает доступ к впечатляющему набору возможностей. Ключевое преимущество этого. . .

POCO, ACE, Loki и другие продвинутые C++ библиотеки

NullReferenced 13.05.2025

В C++ разработки существует такое обилие библиотек, что порой кажется, будто ты заблудился в дремучем лесу. И среди этого многообразия POCO (Portable Components) – как маяк для тех, кто ищет. . .

Паттерны проектирования GoF на C#

UnmanagedCoder 13.05.2025

Вы наверняка сталкивались с ситуациями, когда код разрастается до неприличных размеров, а его поддержка становится настоящим испытанием. Именно в такие моменты на помощь приходят паттерны Gang of. . .

Создаем CLI приложение на Python с Prompt Toolkit

py-thonny 13.05.2025

Современные командные интерфейсы давно перестали быть черно-белыми текстовыми программами, которые многие помнят по старым операционным системам. CLI сегодня – это мощные, интуитивные и даже. . .

Конвейеры ETL с Apache Airflow и Python

AI_Generated 13.05.2025

ETL-конвейеры – это набор процессов, отвечающих за извлечение данных из различных источников (Extract), их преобразование в нужный формат (Transform) и загрузку в целевое хранилище (Load). . . .

Выполнение асинхронных задач в Python с asyncio

py-thonny 12.05.2025

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

Работа с gRPC сервисами на C#

UnmanagedCoder 12.05.2025

gRPC (Google Remote Procedure Call) — открытый высокопроизводительный RPC-фреймворк, изначально разработанный компанией Google. Он отличается от традиционых REST-сервисов как минимум тем, что. . .

CQRS (Command Query Responsibility Segregation) на Java

Javaican 12.05.2025

CQRS — Command Query Responsibility Segregation, или разделение ответственности команд и запросов. Суть этого архитектурного паттерна проста: операции чтения данных (запросы) отделяются от операций. . .

Шаблоны и приёмы реализации DDD на C#

stackOverflow 12.05.2025

Когда я впервые погрузился в мир Domain-Driven Design, мне показалось, что это очередная модная методология, которая скоро канет в лету. Однако годы практики убедили меня в обратном. DDD — не просто. . .

Индекс производительности Windows (WEI) измеряет возможности аппаратной и программной конфигураций компьютера и представляет результат измерения как число, называемое базовым индексом производительности. Оценка получается для следующих подсистем ПК:

  • Процессор
  • Память (RAM)
  • Графика (производительность рабочего стола для Windows Aero)
  • 3D-графика (производительность трехмерной графики и игр)
  • Основной жесткий диск

Более высокое значение базового индекса производительности означает, что компьютер будет работать лучше и быстрее, особенно при выполнении более сложных и ресурсоемких задач, чем компьютер с более низким значением базового индекса.

Каждый аппаратный компонент получает отдельную оценку. Базовое значение индекса производительности компьютера определяется самыми низкими очками в данном подуровне оценки. Например, если отдельный компонент получил самую низкую оценку в 3,2 очка, базовый индекс производительности также равен 3,2. Базовый индекс производительности не является средним значением оценок. Однако отдельные оценки могут дать представление о производительности компонентов и помочь понять, какие компоненты требуется обновить.

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

В настоящее время значения общих оценок производительности компьютеров в Windows 7 варьируются от 1,0 до 7,9. Разработка индекса производительности Windows 7 вызвана прогрессом компьютерных технологий. По мере повышения производительности оборудования будет вводиться более высокий индекс производительности. Однако стандарты для каждого уровня индекса остаются, в целом, неизменными.

Важное замечание:

Следует учитывать, что программа тестирования, встроенная в Windows 7 для определения индекса производительности Windows, не является идеальным бенчмарком: получаемые значения индекса WEI для разных процессоров могут не показывать, сколь существенна разница в производительности между старшими и младшими моделями центральных процессоров. Кроме того, разные типы программного обеспечения по-разному нагружают ПК, поэтому нельзя делать заключение о производительности системы основываясь на результаты лишь одной тестовой программы.

К плюсам индекса производительности Windows (WEI) можно отнести доступность (данная утилита встроена в Windows 7 изначально) и воспроизводимость (показания WEI для ПК с одинаковыми конфигурациями, как правило, совпадают).

Откройте раздел «Счетчики и средства производительности». Для этого нажмите кнопку Пуск и выберите компонент Панель управления. Затем выберете Система и безопасность — Проверка индекса производительности Windows — затем нажмите кнопку Оценить производительность.

Просмотрите отдельные и общую оценки индекса производительности Windows 7 своего компьютера. Если после недавнего обновления оборудования нужно узнать, изменился ли индекс, нажмите кнопку Выполнить повторную оценку.

  • Производительность в играх компьютеров марки Team

Алексей Федоров (сотрудник российского представительства компании Microsoft (alexeif@microsoft.com))

Утилита WinSAT и индекс WinEI

Процессор

Память

Диск

Графическая подсистема

Программные интерфейсы WinSAT

Доступ к данным WinSAT через WMI

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

Утилита WinSAT и индекс WinEI

Для измерения общей производительности ключевых компонентов системы можно также использовать утилиту командной строки WinSAT (Windows System Assessment Tool). Данные, собираемые этой утилитой, лежат в основе Windows Experience Index (WinEI) — индекса производительности системы, отображаемого в панели управления в разделе Performance Information and Tools (рис. 1).

Рис. 1. Windows Experience Index

Рис. 1. Windows Experience Index

Для каждого компьютера рассчитывается базовый индекс, который может варьироваться в диапазоне от 1.0 до 7 (в Windows Vista индекс мог быть не более 5.9). Измерения проводятся в пяти группах: скорость процессора (CPU Assessment), памяти (Memory Assessment), графической подсистемы (DWM Assessment), игровой графики и мультимедиа (D3D Graphics Assessment, Media Assessment) и диска (Disk Assessment) — самый меньший индекс присваивается всей системе.

Полученные в результате измерения данные (а измерение в обязательном порядке проводится после установки операционной системы) применяются для определения того, какие компоненты системы, например Aero, будут активированы и, при необходимости, могут считываться приложениями для более точной настройки — интерфейса, графических возможностей и т.п. Утилита запускается командой WinSAT.exe (%windir%\System32\WinSAT.exe) и использует библиотеку WinSATAPI.dll.

Отдельные тесты могут быть запущены указанием соответствующего параметра командной строки. Например, команда

C:\>winsat disk –seq –read –n 0

выполнит измерение производительности диска 0 в тесте на последовательное чтение.

Помимо индивидуальных тестов WinSAT может выполнить описанную ранее общую оценку системы с предопределенными параметрами и сохранить результат в XML-файле. Результаты всех базовых тестов располагаются в каталоге %WinDir%\Performance\WinSAT, а файлы результатов выполнения отдельных тестов — в каталоге %WinDir%\Performance\WinSAT\DataStore. Изначальный результат измерения системы находится в файле YYYY-MM-DD HH.MM.SS.MSS Formal Assessment (Initial).WinSAT.XML, а результат самого последнего измерения системы — в файле YYYY-MM-DD HH.MM.SS.MSS Formal Assessment (Recent).WinSAT.XML, где и в том, и в другом случае первая группа в имени файла указывает дату и время создания отчета.

Для выполнения общей оценки системы следует выполнить команду, приведенную на рис. 2.

Рис. 2. Выполнение теста общей оценки системы

Рис. 2. Выполнение теста общей оценки системы

C:\>winsat formal

Давайте рассмотрим каждый групповой тест и узнаем, что и как в нем измеряется и как можно использовать полученные данные.

Процессор

Тест процессора включает несколько операций, и результат каждой из них отображается отдельно. Применяются два типа нагрузочных тестов — шифрование и сжатие.

В случае шифрования выделяются два буфера — источник и приемник указанного размера, и при этом источник заполняется случайными данными. Далее с помощью стандартных функций Win32 Cryptographic APIs — CryptEncrypt() и CryptDecrypt() — данные шифруются и расшифровываются. При тестировании с помощью Read Time Stamp Counter (RDTSC) измеряется время обеих операций.

В случае сжатия также выделяется два буфера — источник и приемник указанного размера, но источник заполняется определенными данными. Далее используются функции RtlCompressBuffer() и RtlDecompressBuffer(), применяющие алгоритм сжатия LZNT1 — тот же, что используется файловой системой NTFS. Содержимое источника сжимается в приемник, а затем содержимое приемника распаковывается в источник. При тестировании с помощью Read Time Stamp Counter (RDTSC) измеряется время обеих операций.

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

C:\>winsat cpuformal

В Windows Vista результаты тестирования процессора делятся на три категории:

  • 2.0-4.7 — одноядерный процессор с частотой порядка 850 МГц типа K7 или P4;
  • 4.8 и выше — стандартный двухъядерный процессор;
  • до 5.8 — высокопроизводительный двухъядерный процессор.
  • В Windows 7 диапазон индексов процессора расширен для поддержки 8- и 16-ядерных процессоров. Добавлены следующие категории:
  • до 5.9 — системы с одним или двумя физическими ядрами;
  • 6.0-6.5 — высокопроизводительный двухъядерный процессор;
  • 6.5-6.9 — новые процессоры AMD Phenom X3 с тремя ядрами;
  • выше 7 — четырехъядерные процессоры;
  • 7.9 — новые процессоры AMD Opteron с шестью ядрами (рис. 3).

Как и в случае с графикой (табл. 1), диапазоны индексов процессора указывают на его применимость для решения тех или иных задач.

Таблица 1. Индексы процессора

Индекс

Описание

< 2.0

Очень медленный процессор, не подходящий для нормальной работы Windows 7

2.0­2.9

Можно выполнять отдельные задачи: чтение почты, просмотр web, редактирование документов. Для такого класса процессоров даже базовые задачи могут вызывать его повышенную утилизацию. Многозадачная работа может приводить к заметным задержкам

3.0­3.9

Можно выполнять основные задачи в многозадачном режиме

4.0­4­9

Подходит для выполнения большинства задач

5.0­5.9

Подходит для выполнения большинства задач, позволяет использовать многоядерные системы для работы с Excel, обработки изображений, компилирования кода. Подходит для большинства компьютерных игр

6.0­6.9/7.0­7.9

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

Рис. 3. Выполнение теста процессора

Рис. 3. Выполнение теста процессора

Память

Производительность памяти является одним из ключевых факторов, определяющих производительность всей системы и оптимальное выполнение компьютерных игр, программ редактирования и обработки фото- и видеоматериалов, а также выполнения других вычислительных задач. Тест памяти вычисляет ее пропускную способность, выполняя последовательность операций копирования из буфера в буфер (рис. 4).

Рис. 4. Выполнение теста памяти

Рис. 4. Выполнение теста памяти

В Windows Vista использовались правила назначения индексов производительности памяти в зависимости от объема установленной в системе памяти. В Windows 7 набор правил расширен — правила для Windows Vista и Windows 7 приведены в табл. 2.

Таблица 2. Индексы производительности памяти для Windows Vista и Windows 7

Индекс

Описание

До 1.0

Общий объем памяти <= 256 Мбайт

До 2.0

Общий объем памяти <= 500 Мбайт (512­10 Мбайт)

До 2.9

Общий объем памяти <= 512 Мбайт

До 3.5

Общий объем памяти < 704 Мбайт (768­64 Мбайт)

До 3.9

Общий объем памяти < 944 Мбайт (1 Гбайт­80 Мбайт)

До 4.5

Общий объем памяти < 1,5 Гбайт

До 5.5

Общий объем памяти < 3 Гбайт

До 5.9

Общий объем памяти < 4 Гбайт (только для 64­битных систем)

Диск

Тестирование производительности диска в Windows Vista проводилось на основе теста последовательной записи. Этого было достаточно для базовой проверки механических дисков, но с появлением SSD-дисков потребовалось расширить набор тестов. В Windows 7 были добавлены следующие тесты:

  • случайное чтение всего диска;
  • проверка сброса данных на диск;
  • проверка производительности гибридных устройств с NVRAM (рис. 5).

Общие правила присвоения индексов производительности в Windows 7 представлены в табл. 3.

Таблица 3. Индексы производительности жестких дисков в Windows 7

Индекс

Описание

2.9­3.9

Системы с низкой скоростью записи буферов на диск независимо от результатов выполнения других тестов

5.0­5.9

Диски с хорошим последовательным чтением и хорошей скоростью записи буферов на диск

6.0­6.5

Диски с высокой скоростью или SSD­диски

7.0­7.5

Только для SSD­дисков

7.6­7.9

Зарезервировано

Рис. 5. Выполнение теста диска

Рис. 5. Выполнение теста диска

Графическая подсистема

Тестирование графической подсистемы осуществляется проверкой функциональных возможностей видеокарты для поддержки Desktop Window Manager (DWM). В наше время многие графические карты оптимизированы для игровых сценариев, при том что бизнес-приложения не имеют столь высоких требований, как компьютерные игры. Кроме того, большинство индустриальных тестов неприменимо для тестирования бизнес-сценариев.

Таким образом, включение в состав измерения системы теста выполнения бизнес-сценариев (рис. 6) позволяет получить индекс графической подсистемы относительно DWM и, в частности, ответить на такой популярный вопрос: «Почему я не могу включить подсистему Aero?»

Рис. 6. Тестирование графической подсистемы

Рис. 6. Тестирование графической подсистемы

В Windows 7 DWM использует функции DirectX10, поэтому тестирование графической подсистемы теперь поддерживает тесты для DirectX10. Результаты этих тестов показывают, насколько система поддерживает композитный рабочий стол (desktop composition) и используется DWM для принятия решения о включении или отключении подсистемы Aero. Результаты могут быть распределены по группам, представленным в табл. 4.

Таблица 4. Индексы производительности графической подсистемы в Windows 7

Индекс

Описание

<2.0

Система не поддерживает композитный рабочий стол

2.0­2.9

Базовая поддержка композитного рабочего стола
на одном мониторе. Не рекомендуется использовать
такие функции,
как Flip­3D, thumbnails и Win­Tab

3.0­3.9

Поддержка композитного рабочего стола с разрешением
до 1900­1200 на одном мониторе

4.0­4.9

Поддержка композитного рабочего стола с разрешением до 1600х1200 на двух мониторах

>5.0

Мультимониторная поддержка

>6.0

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

Игровая графика

Тестирование игровой графики позволяет измерить производительность системы при выполнении сценариев трехмерных игр. Цели проверки заключаются в нагрузочном тестировании графической подсистемы и проверке корректной работы драйверов графических карт. Выполняются следующие четыре основных теста: Batch Limited — отрисовка большого количества небольших объектов с целью проверки драйвера, Fill-rate Memory Limited — проверка возможности читать и записывать данные из памяти, Fill-rate Shader Limited — текстурная отрисовка, проверка вычислительных возможностей и Fill-rate Shader Limited — проверка вычислительных возможностей.

Также для проверки игровой графики выполняются различные мультимедийные тесты, включающие проверку воспроизведения видео и использования различных декодеров (только в Windows 7 — тест MediaEx, рис. 7).

Рис. 7. Тестирование игровой графики

Рис. 7. Тестирование игровой графики

Результаты тестирования графических возможностей разделяются на несколько групп — для адаптеров с поддержкой DirectX 9 индекс ограничивается числом 5.9, DirectX 10 требует более высокого индекса. Результаты могут быть распределены по группам согласно табл. 5.

Таблица 5. Индексы, характеризующие мультимедийные возможности

Индекс

Описание

<2.0

Система не поддерживает DirectX 9/DirectX 10

2.0­5.9

Присваивается в тех случаях, когда тесты для DirectX 10 показали более низкую, по сравнению с тестами для DirectX 9, производительность

4.0­4.9

Поддержка DirectX 10 с FPS 20­30 в режиме Windows при включенной композиции рабочего стола. В эту категорию попадают адаптеры, которые не поддерживают режим 1280х1024 с нормальным FPS, но нормально работают в режимах 800х600 и 1024х768

5.0­5.9

Основная производительность для DirectX 10, FPS 20­40 при разрешении 1280х1024

6.0­6.9

Отличная производительность для DirectX 10, FPS 40­50 при разрешении 1280х1024

>7.0

Исключительная производительность для DirectX 10, FPS >60 при разрешении 1280х1024

При измерении мультимедийных возможностей учитывается поддержка воспроизведения видеоклипов разного формата: WMV, MPEG-2 и H.264 в режиме High Definition. Результаты могут быть распределены по группам согласно табл. 6.

Таблица 6. Индексы, характеризующие поддержку воспроизведения видеоклипов

Индекс

Описание

<5.0

Система не поддерживает воспроизведение HD­видео

5.0+

Система поддерживает базовое воспроизведение HD­видео

6.0+

Система поддерживает воспроизведение HD­видео

Программные интерфейсы WinSAT

Начиная с операционной системы Windows Vista у разработчиков появилась возможность использовать программные интерфейсы WinSAT для запуска отдельных тестов и получения результатов уже проведенных тестов. Программные интерфейсы описаны в заголовочном файле WinSATComInterfaceI.h и реализованы в библиотеке WinSATAPI.dll (%windir%\system32\WinSATAPI.dll).

Для запуска формального измерения системы служит метод InitialFormalAssessment интерфейса IInitiateWinSATAssessment. Результаты формального измерения сохраняются в стандартной папке и могут быть затем извлечены и обработаны. Для получения уведомлений о прогрессе измерения системы или о завершении процесса применяется интерфейс IWinSATInitiateEvents.

Для получения результатов общего тестирования системы и ее отдельных компонентов используются соответствующие программные интерфейсы. Общий индекс системы может быть получен с помощью метода IQueryRecentWinSATAssessment::get_Info, возвращающего интерфейс IProvideWinSATResultsInfo. Затем вызывается метод IProvideWinSATResultsInfo::get_SystemRating, возвращающий общий индекс системы.

Для получения индекса отдельных компонентов сначала вызывается метод IQueryRecentWinSATAssessment::get_Info, возвращающий интерфейс IProvideWinSAT-ResultsInfo. Затем для каждого компонента вызывается метод IProvideWinSATAssessmentInfo::get_Score.

Для доступа к информации, сохраненной в XML-файлах (посредством опции командной строки –xml), следует применять метод IQueryRecentWinSATAssessment::get_XML, возвращающий детали общего измерения системы, и метод IQueryAllWinSATAssessments::get_AllXML для доступа к результатам для отдельных компонентов. XML-схема описана в MSDN по адресу: http://msdn.microsoft.com/en-us/library/aa969210(VS.85).aspx.

В листинге показано, как с помощью программных интерфейсов WinSAT выполнить измерение системы и получить уведомление о прогрессе выполнения тестов:

#include <windows.h>

#include <stdio.h>

#include <conio.h> // для kbhit()

#include <winsatcominterfacei.h>

#pragma comment(lib, «ole32.lib»)

// Класс, реализующий IWinSATInitiateEvents. Используется

// для получения информации о прогрессе и завершении тестов

class CWinSATCallbacks : public IWinSATInitiateEvents

{

LONG m_lRefCount;

public:

CWinSATCallbacks() {m_lRefCount = 1;};

~CWinSATCallbacks() {};

HRESULT __stdcall QueryInterface(REFIID riid, LPVOID *ppvObj);

ULONG __stdcall AddRef();

ULONG __stdcall Release();

HRESULT __stdcall WinSATComplete(HRESULT hr, LPCWSTR description);

HRESULT __stdcall WinSATUpdate(UINT currentTick, UINT tickTotal,

            LPCWSTR currentState);

};

HRESULT CWinSATCallbacks::QueryInterface(REFIID riid, LPVOID* ppvObj)

{

if (riid == __uuidof(Iunknown) ||

riid == __uuidof(IWinSATInitiateEvents))

{

*ppvObj = this;

}

else

{

*ppvObj = NULL;

return E_NOINTERFACE;

}

AddRef();

return NOERROR;

}

ULONG CWinSATCallbacks::AddRef()

{

return InterlockedIncrement(&m_lRefCount);

}

ULONG CWinSATCallbacks::Release()

{

ULONG ulCount = InterlockedDecrement(&m_lRefCount);

if(0 == ulCount)

{

delete this;

}

return ulCount;

}

// Вызывается при завершении работы WinSAT или возникновении ошибки

HRESULT CWinSATCallbacks::WinSATComplete(HRESULT hr, LPCWSTR description)

{

if (SUCCEEDED(hr))

{

wprintf(L»\n*** %s», description);

}

else

{

wprintf(L»\n*** Ошибка выполнения. Код 0x%x (%s)\n»,

hr, description);

}

return S_OK;

}

// Вызывается для отображения прогресса

HRESULT CWinSATCallbacks::WinSATUpdate(UINT currentTick, UINT tickTotal, LPCWSTR currentState)

{

If (tickTotal > 0)

{

wprintf(L»\n*** Процесс выполнения: %u%%\n», 100*currentTick/tickTotal);

wprintf(L»*** Выполняемый тест: %s\n\n», currentState);

}

return S_OK;

}

void main(void)

{

HRESULT hr = S_OK;

IInitiateWinSATAssessment* pAssessment = NULL;

CWinSATCallbacks* pCallbacks = NULL;

CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);

hr = CoCreateInstance(__uuidof(CInitiateWinSAT),

NULL,

CLSCTX_INPROC_SERVER,

__uuidof(IInitiateWinSATAssessment),

(void**)&pAssessment);

if (FAILED(hr))

{

wprintf(L»Ошибка создания экземпляра IInitiateWinSATAssessment.

            Код 0x%x.\n», hr);

goto cleanup;

}

wprintf(L»Выполнение тестирования.\n»);

pCallbacks = new CWinSATCallbacks();

if (NULL == pCallbacks)

{

wprintf(L» Ошибка создания экземпляра CWinSATCallbacks.\n»);

goto cleanup;

}

hr = pAssessment->InitiateFormalAssessment(pCallbacks, NULL);

if (FAILED(hr))

{

wprintf(L»Ошибка InitiateFormalAssessment. Код 0x%x.\n», hr);

goto cleanup;

}

while (!_kbhit())

Sleep(10);

cleanup:

if (pAssessment)

pAssessment->Release();

if (pCallbacks)

pCallbacks->Release();

CoUninitialize();

}

В листинге показан пример использования программных интерфейсов WinSAT из управляемого кода на языке C#:

Namespace WinSATDemo

{

class Program

{

[STAThread]

static void Main()

{

CQueryWinSATClass q = new CQueryWinSATClass();

if (q.Info.AssessmentState ==

WINSAT_ASSESSMENT_STATE.WINSAT_ASSESSMENT_STATE_VALID

|| q.Info.AssessmentState ==

WINSAT_ASSESSMENT_STATE.WINSAT_ASSESSMENT_STATE_INCOHERENT_WITH_HARDWARE)

{

string format = «{0,-18} {1,-56} {2:N1}»;

string seperator = String.Format(format, new string(‘-‘, 18), new

string(‘-‘, 56), new string(‘-‘, 3));

Console.WriteLine(«{0} on {1}», q.Info.RatingStateDesc,

q.Info.AssessmentDateTime);

Console.WriteLine();

Console.WriteLine(format, «Категория», «Описание», «Индекс»);

Console.WriteLine(seperator);

Ienumerator e =

Enum.GetValues(typeof(WINSAT_ASSESSMENT_TYPE)).GetEnumerator();

while (e.MoveNext())

{

IProvideWinSATAssessmentInfo I =

q.Info.GetAssessmentInfo((WINSAT_ASSESSMENT_TYPE)e.Current);

Console.WriteLine(format, i.Title, i.Description, i.Score);

}

Console.WriteLine(seperator);

Console.WriteLine(format, «Базовый индекс»,

«Определенный как низший в наборе», q.Info.SystemRating);

}

}

}

}

Доступ к данным WinSAT через WMI

Для доступа к основным данным WinSAT через Windows Management Instrumentation (WMI) следует использовать класс Win32_WinSAT, который описывается следующей структурой:

class Win32_WinSAT

{

string TimeTaken;

real32 WinSPRLevel;

uint32 WinSATAssessmentState;

real32 MemoryScore;

real32 CPUScore;

real32 DiskScore;

real32 D3Dscore;

real32 GraphicsScore;

};

Описание свойств класса Win32_WinSAT приведено в табл. 7.

Таблица 7. Описание свойств класса Win32_WinSAT

Свойство

Описание

CPUScore

Индекс производительности центрального процессора

D3Dscore

Индекс для трехмерной (игровой) графики

DiskScore

Индекс для операций последовательного чтения с диска

GraphicsScore

Индекс графической подсистемы компьютера

MemoryScore

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

TimeTaken

При обращении к характеристикам WinSAT необходимо использовать значение MostRecentAssessment

WinSATAssessmentState

Одно из следующих значений:

0 — StateUnknown;

1 — Valid;

2 — IncoherentWithHardware;

3 — NoAssessmentAvailable;

4 — Invalid

WinSPRLevel

Базовый индекс для компьютера

В PowerShell выполнение команды

PS>Get-WmiObject Win32_WinSAT

отображает данные, показанные на рис. 8.

Рис. 8. Отображение данных с помощью команды Get-WmiObject Win32_WinSAT

Рис. 8. Отображение данных с помощью команды Get-WmiObject Win32_WinSAT

***

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

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

КомпьютерПресс 03’2011

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Windows открыть порт для прослушивания
  • Нужно ли очищать папку temp в windows 10
  • В операционной системе windows жесткий диск имеет логическое имя c a b далее
  • Как убрать синий экран на компьютере windows 10 при включении компьютера
  • Windows server essentials 2019 download