Resumo
Estou lendo dados seriais através de uma porta USB e quando o laptop está carregando, a porta COM recebe cerca de 60 atualizações por segundo e quando o laptop não está carregando, a porta COM recebe cerca de 1 atualização por segundo.
Plano de fundo (não sei ao certo quais informações são úteis)
Estou trabalhando em um projeto em que um conjunto de sensores se comunica com um microprocessador e o microprocessador é conectado a um laptop. Como preciso dos dados para usar em controle em tempo real, a taxa na qual o laptop recebe informações do microprocessador é importante.
Normalmente, consegui obter cerca de 60 atualizações do microprocessador por segundo. No entanto, muitas vezes me deparo ocasionalmente com lentidão por nenhuma razão óbvia. Hoje ocorreu uma dessas lentidões e percebi que, quando o laptop não carregava ativamente, as atualizações por segundo eram muito lentas, mas quando o laptop estava carregando, ele recebia atualizações a toda velocidade.
Observe que o microprocessador não é ativado pelo laptop.
Editar 1: Meu plano de energia está definido como balanceado.
Editar 2: fiz as seguintes alterações para tentar melhorar o desempenho
Eu achei que eles tinham consertado, mas depois de correr por vários minutos a lentidão ocorreu novamente.
Olhando para o Gerenciador de tarefas quando o programa está sendo executado corretamente, o uso da CPU é de cerca de 50% e o uso da memória é de cerca de 50%. Logo quando a desaceleração ocorreu, a utilização da CPU caiu para cerca de 25%, o uso de memória permaneceu inalterado.
Parecia que o número de threads e identificadores exibidos no gerenciador de tarefas aumentava constantemente ao longo do tempo, até cerca de 4000 threads e 98.000 handles. Quando fechei meus programas, a contagem de threads caiu para cerca de 3.000 e identificou para cerca de 90.000.
Editar 3:
Entrei no BIOS e mudei o Intel Speedstep para desativado e o controle do estado C para desativado. Isso não parece consertar nada. Fiz isso seguindo os conselhos desta página da Web: link
Editar 4: usei o Docklight para confirmar que o microprocessador está enviando informações com rapidez suficiente. Então, a questão está definitivamente no fim do laptop