Качество обслуживания
Качество обслуживания (QoS), связанное с потоком, используется для указания требуемой производительности и эффективности питания. Каждому потоку назначается уровень качества обслуживания. Хотя приоритет планирования остается основной метрикой, с помощью которой система определяет, какой поток следует планировать далее, QoS может повлиять на выбор ядра и управление питанием процессора. На платформах с разнородными процессорами QoS потока может ограничить планирование подмножеством процессоров или указать предпочтение определенного класса процессора.
Разработчики могут уже использовать другие средства для управления выполнением, например, когда пользователь отсутствует, только на ac/зарядке или в зависимости от уровня батареи. QoS предоставляет возможность влиять на выполнение. Это средство может помочь повысить эффективность ЦП и, таким образом, продлить срок работы батареи. Кроме того, этот процесс может помочь сократить потребление энергии ЦП во время работы с питанием AC, чтобы уменьшить тепловые выходные данные, что может привести к высокому шуму вентилятора или даже тепловому регулированию.
Качество уровней обслуживания
Система поддерживает несколько уровней качества обслуживания, каждый из которых отличается производительностью и эффективностью питания. Windows предоставляет стандартные параметры по умолчанию для планирования и управления питанием процессора для каждого уровня качества обслуживания. Точную настройку каждого уровня качества обслуживания для управления питанием процессора и разнородного планирования можно изменить с помощью подготовки Windows. Дополнительные сведения о настройке производительности и подготовке см. в параметрах управления питанием процессора.
Уровень качества обслуживания | Описание | Производительность и мощность | Отпускать |
---|---|---|---|
Высокий | Оконные приложения, которые находятся на переднем плане и в фокусе, или звуковые, и явным образом помечают процессы с SetProcessInformation или потоками с SetThreadInformation | Стандартная высокая производительность. | 1709 |
Терпимая | Окна приложений, которые могут быть видимы для конечного пользователя, но не находятся в фокусе. | Зависит от платформы, между высокой и низкой. | 1709 |
Низкий | Окна приложений, которые не отображаются или не слышны пользователю. | На батарее выбирает наиболее эффективную частоту ЦП и расписания для эффективного ядра. | 1709 |
Полезность | Фоновые службы | На батарее выбирает наиболее эффективную частоту ЦП и расписания для эффективных ядер. | Windows 11 22H2 |
Эко | Приложения, которые явно помечают процессы с SetProcessInformation или потоками с SetThreadInformation. | Всегда выбирает наиболее эффективную частоту ЦП и расписания для эффективных ядер. | Windows 11 |
Медиа | Потоки явно помечены службой планировщика класса мультимедиа для обозначения буферизации мультимедиа. | Частота ЦП снижается для эффективной пакетной обработки. | 2004 |
Срок | Потоки явно помечены службой план ировщика класса мультимедиа, чтобы указать, что звуковые потоки требуют производительности в соответствии с крайними сроками. | Высокая производительность в соответствии с крайними сроками мультимедиа. | 2004 |
Классификация качества обслуживания
В следующей таблице показаны поддерживаемые классификации качества обслуживания.
Источник | Описание | ||||||||
---|---|---|---|---|---|---|---|---|---|
Мультимедиа Foundation | Служба планировщика мультимедийных классов определяет ресурсы ЦП для сценариев мультимедиа. Теги служб, относящиеся к конкретным потокам, ответственным за обработку мультимедиа с помощью уровней качества обслуживания мультимедиа и крайних сроков качества обслуживания, обеспечивают эффективность питания во время выполнения крайних сроков производительности. | ||||||||
API |
SetProcessInformation позволяет разработчикам явно пометить процесс как HighQoS или EcoQoS, переключив функцию PROCESS_POWER_THROTTLING_EXECUTION_SPEED в ProcessPowerThrottling.SetThreadInformation позволяет разработчикам явно пометить поток как HighQoS или EcoQoS, переключив функцию THREAD_POWER_THROTTLING_EXECUTION_SPEED в ThreadPowerThrottling. |
||||||||
Слышимый | Процессы, которые определяются воспроизведением звука, являются HighQoS. | ||||||||
Видимый | Процессы, которые непосредственно принадлежат окну (или являются потомками процессов владения окнами), назначаются уровню качества обслуживания в соответствии с их состоянием видимости и фокуса:
|
||||||||
Эвристический | Потоки, которые не классифицируются указанными выше источниками, автоматически назначаются уровнем качества обслуживания системой. Эти эвристики включают (но не ограничиваются) приоритетом потока, где потоки, работающие с уменьшенным приоритетом потока, могут означать более низкий уровень качества обслуживания. |