Поделиться через


Качество обслуживания

Качество обслуживания (QoS), связанное с потоком, используется для указания требуемой производительности и энергоэффективности. Каждому потоку назначается уровень качества обслуживания. Хотя приоритетом планирования остается main метрика, с помощью которой система определяет, какой поток следует запланировать следующий, качество обслуживания может повлиять на выбор ядра и управление питанием процессора. На платформах с разнородными процессорами качество обслуживания потока может ограничить планирование подмножеством процессоров или указать предпочтение для определенного класса процессоров.

Разработчики уже могут использовать другие средства для управления выполнением, например, когда пользователь отсутствует, только при переменном/зарядке или в зависимости от уровня заряда батареи. QoS предоставляет возможность влиять на выполнение. Это средство может помочь повысить эффективность ЦП и тем самым продлить время работы батареи. Кроме того, этот процесс может помочь снизить энергопотребление ЦП при работе с питанием переменного тока, чтобы уменьшить тепловую мощность, что может привести к высокому шуму вентилятора или даже тепловому регулированию.

Качество уровней обслуживания

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

Уровень качества обслуживания Описание Производительность и мощность Выпуск
Высокий Оконные приложения, которые находятся на переднем плане и находятся в фокусе или звуковые и явно помечают процессы с помощью SetProcessInformation или потоки с помощью SetThreadInformation Стандартная высокая производительность. 1709
Средний Оконные приложения, которые могут быть видны конечному пользователю, но не находятся в фокусе. Зависит от платформы, в зависимости от высокого и низкого уровня. 1709
Низкий Оконные приложения, которые не видны или не слышны конечному пользователю. От батареи выбирает наиболее эффективную частоту ЦП и расписания для эффективного ядра. 1709
Служебная программа Фоновые службы При использовании батареи выбирает наиболее эффективную частоту ЦП и расписания для эффективных ядер. Windows 11 22H2
Эко Приложения, которые явно помечают процессы с помощью SetProcessInformation или потоки с помощью SetThreadInformation. Всегда выбирает наиболее эффективную частоту ЦП и расписания для эффективных ядер. Windows 11
Мультимедиа Потоки, явно помеченные службой планировщика мультимедийных классов для обозначения пакетной буферизации мультимедиа. Частота ЦП снижена для эффективной пакетной обработки. 2004
Крайний срок Потоки, явно помеченные службой планировщика мультимедийных классов , чтобы обозначить, что аудиопотоки требуют производительности для соблюдения крайних сроков. Высокая производительность в соответствии с сроками мультимедиа. 2004

Классификация качества обслуживания

В следующей таблице показаны поддерживаемые классификации QoS.

Источник Описание
Media Foundation Служба планировщика мультимедийных классов определяет приоритет ресурсов ЦП для мультимедийных сценариев. Служба поменит определенные потоки, отвечающие за обработку мультимедиа, с помощью уровней качества обслуживания мультимедиа и Deadline, чтобы обеспечить эффективность энергопотребления при выполнении крайних сроков производительности.
API SetProcessInformation позволяет разработчикам явно пометить процесс как HighQoS или EcoQoS, переключив функцию PROCESS_POWER_THROTTLING_EXECUTION_SPEED в ProcessPowerThrottling.
SetThreadInformation позволяет разработчикам явно пометить поток как HighQoS или EcoQoS, переключив THREAD_POWER_THROTTLING_EXECUTION_SPEED функцию в ThreadPowerThrottling.
Звуковой Процессы, которые, как определено, будут воспроизводить звук, являются HighQoS.
Видимый Процессам, которые непосредственно владеют окном (или являются потомками процессов, принадлежащих окнам), назначается уровень качества обслуживания в соответствии с их состоянием видимости и фокуса:

Состояние окнаКачество обслуживания
В фокусеВысокий
ВидимыйСредний
Свернуто или полностью отключалосьНизкий
Эвристический метод Потокам, которые не классифицируются указанными выше источниками, система автоматически назначает уровень качества обслуживания. К этим эвристикам относится (но не ограничивается) приоритет потока, где потоки, выполняемые с пониженным приоритетом потока, могут означать более низкий уровень качества обслуживания.