Executando um aplicativo com uso intensivo de computação O uso da CPU do serviço fica muito alto

Executando um aplicativo com uso intensivo de computação O uso da CPU do serviço fica muito alto

Meu aplicativo de processamento de imagem com uso intensivo de computação, quando executado (no laptop HP com Windows 8.1), faz com que a CPU funcione a mais de 100% conforme o esperado, mas ao mesmo tempo o uso da CPU do serviço sobe para mais de 50% (muito inesperado) e os serviços listados que usam muita CPU não fazem sentido algum.

Meu aplicativo de processamento de imagem com uso intensivo de computação primeiro captura alguns milhares de quadros de dados de vídeo de uma câmera e depois processa a imagem nos dados. Durante a captura de quadros, algum pré-cálculo (histograma, mín/máx, etc.) é calculado nos quadros à medida que eles chegam, mas a maior parte do processamento é feita depois. A captura leva cerca de 10 segundos e o cálculo de 13 a 20 segundos. Eu uso o OMP com o Visual Studio 2013 para que todos os cálculos sejam distribuídos para todas as 8 CPUs do meu laptop.

Aqui está o que o Monitor de Recursos mostra:

Visualização do Monitor de Recursos

Quando substituí as funções de computação intensiva com Sleepa CPU caindo para perto de 0 e a CPU de serviço também caiu para perto de 0, então não são o OMP, threads, semáforos, etc. acontecer como antes.

Minhas perguntas são:

  1. Por que a CPU do serviço fica alta só porque meus threads estão computando alguma coisa?

  2. Por que serviços como "DigitalPersona Aut..", "Win.. Defendeer..", "Win.. Phone..", "IP Helper", etc. se envolvem em tarefas pesadas de computação.

  3. 50% da CPU é desperdiçada em tarefas de serviços de agulhas?

Alguém tem alguma idéia ou conhecimento sobre isso.

Responder1

Você poderia tentar examinar o que esses serviços estão fazendo, usando uma ferramenta como Explorador de processos, embora isso exija algum conhecimento da API do Windows.

Você também pode começar a reduzir o problema desativando alguns serviços:

  • O serviço DigitalPersona pode ser desativado se você não estiver usando o leitor de impressão digital para fazer login. Se você tiver o HP SimplePass instalado, poderá desinstalá-lo.

  • O serviço IpOverUsbSvc geralmente é instalado pelo Windows SDK. Ele pode ser desativado se você não estiver usando o computador para telefonar.

No entanto, posso entender que o Defender fica mais ativo quando o computador está muito ativo, pois rastreia tudo o que acontece. Talvez você pudesse criar uma exceção para a pasta onde este programa está localizado, e talvez isso o acalmasse um pouco.

informação relacionada