Qualidade de Serviço
A QoS (Qualidade de Serviço) associada a um thread é usada para indicar o desempenho desejado e a eficiência de energia. Cada thread é atribuído a um nível de QoS. Embora a prioridade de agendamento continue sendo a métrica principal pela qual o sistema determina qual thread agendar a seguir, o QoS pode influenciar a seleção principal e o gerenciamento de energia do processador. Em plataformas com processadores heterogêneos, o QoS de um thread pode restringir o agendamento a um subconjunto de processadores ou indicar uma preferência por uma classe específica de processador.
Os desenvolvedores já podem estar empregando outras instalações para controlar quando executar, como quando o usuário não está presente, apenas no AC/carregamento ou dependendo do nível da bateria. O QoS fornece uma instalação para influenciar como executar. Essa instalação pode ajudar a melhorar a eficiência da CPU e, portanto, estender a vida útil da bateria. Além disso, esse processo pode ajudar a reduzir o consumo de energia da CPU enquanto opera na energia ac para reduzir a saída térmica, o que pode levar a um alto ruído do ventilador ou até mesmo à limitação térmica.
Qualidade dos níveis de serviço
O sistema mantém vários níveis de QoS, cada um com desempenho diferenciado e eficiência de energia. Windows fornece configurações padrão padrão para agendamento e gerenciamento de energia do processador para cada nível de QoS. O ajuste preciso de cada nível de QoS para gerenciamento de energia do processador e agendamento heterogêneo pode ser modificado por meio de Windows Provisionamento. Para obter mais informações sobre ajuste de desempenho e provisionamento, consulte as opções de gerenciamento de energia do processador.
Nível de QoS | Descrição | Desempenho e energia | Versão |
---|---|---|---|
Alto | Aplicativos em janelas que estão em primeiro plano e em foco, ou audíveis, e marcam explicitamente processos com SetProcessInformation ou threads com SetThreadInformation | Alto desempenho padrão. | 1.709 |
Médio | Aplicativos em janelas que podem estar visíveis para o usuário final, mas não estão em foco. | Varia de acordo com a plataforma, entre Alta e Baixa. | 1.709 |
Baixo | Aplicativos com janelas que não são visíveis ou audíveis para o usuário final. | Na bateria, seleciona a frequência e os agendamentos de CPU mais eficientes para o núcleo eficiente. | 1.709 |
Utilitário | Serviços em segundo plano | Na bateria, seleciona a frequência e os agendamentos de CPU mais eficientes para núcleos eficientes. | Windows 11 22H2 |
Eco | Aplicativos que marcam explicitamente processos com SetProcessInformation ou threads com SetThreadInformation. | Sempre seleciona a frequência e os agendamentos de CPU mais eficientes para núcleos eficientes. | Windows 11 |
Mídia | Threads explicitamente marcados pelo Serviço de Agendador de Classe Multimídia para denotar o buffer de lote multimídia. | Frequência de CPU reduzida para processamento em lote eficiente. | 2004 |
Prazo | Threads explicitamente marcados pelo Serviço de Agendador de Classe Multimídia para indicar que os threads de áudio exigem desempenho para atender aos prazos. | Alto desempenho para atender aos prazos de mídia. | 2004 |
Classificação de qualidade do serviço
A tabela a seguir mostra as classificações de QoS com suporte.
Fonte | Descrição | ||||||||
---|---|---|---|---|---|---|---|---|---|
Multimídia Foundation | O Serviço agendador de classe multimídia prioriza os recursos da CPU para cenários multimídia. O serviço marca threads específicos responsáveis pelo processamento multimídia usando os níveis de QoS de Mídia e Prazo para fornecer eficiência de energia ao atender aos prazos de desempenho. | ||||||||
API |
SetProcessInformation permite que os desenvolvedores marquem explicitamente um processo como HighQoS ou EcoQoS alternando o PROCESS_POWER_THROTTLING_EXECUTION_SPEED recurso em ProcessPowerThrottling.SetThreadInformation permite que os desenvolvedores marquem explicitamente um thread como HighQoS ou EcoQoS alternando o THREAD_POWER_THROTTLING_EXECUTION_SPEED recurso em ThreadPowerThrottling. |
||||||||
Audível | Os processos que estão determinados a reproduzir áudio são HighQoS. | ||||||||
Visible | Os processos que possuem diretamente uma janela (ou são descendentes de processos proprietários de janela) recebem um nível de QoS de acordo com sua visibilidade e estado de foco:
|
||||||||
Heurística | Os threads que não são classificados pelas fontes acima são automaticamente atribuídos a um nível de QoS pelo sistema. Essas heurísticas incluem (mas não estão limitados a) prioridade de thread, em que threads em execução com prioridade de thread reduzida podem implicar um nível de QoS mais baixo. |