Páginas

Seja bem-vindo. Hoje é

Mural de recados

quinta-feira, 19 de maio de 2011

Consumo de CPU vai a 100% ao clicar em um AVI

O que vou escrever agora é algo um pouco mais completo e esclarecedor.
O Windows Explorer “abre” o arquivo AVI em pelo menos dois momentos sem sua explícita permissão:
  • Quando você coloca o mouse sobre o nome, mesmo que não selecione o arquivo;
  • Quando você seleciona o arquivo;
Se você rapidamente seleciona o arquivo sem parar o mouse sobre ele antes, as duas operações são feitas em seqüência.
O Explorer abre o arquivo para poder exibir informações sobre ele na hint e na barra de status. O problema é que essa operação deveria ser rapidíssima e por isso transparente, mas por algum motivo às vezes leva váaaarios segundos durante os quais o Explorer está acessando o arquivo. Como efeito colateral você pode ainda ter outros problemas:
  • Não consegue renomear o arquivo;
  • Não consegue mover o arquivo, mesmo para uma pasta na mesma partição (a mais simples das operações de movimentação, do ponto de vista do SO);
Cada vez que você tenta recebe o erro de que o arquivo está em uso. Se clica no arquivo para tentar novamente, o processo se reinicia. Se você passar o dia inteiro clicando o arquivo vai estar sempre em uso, mas só porque você está clicando. Por isso existe um macete:
  • Renomear: Renomeie o arquivo normalmente, mas não dê ENTER. Fique de olho no consumo de CPU e quando este cair, aperte o ENTER;
  • Mover: Dê um “Recortar” no arquivo e aguarde o consumo cair. Só então dê um “Colar”.
É claro que essa não é a melhor das opções e eu mesmo só me daria a esse trabalho na máquina de outras pessoas, para não ter que fazer algo mais drástico nelas. E isso também não adianta nada nos casos em que o consumo de CPU virtualmente não cai mais ou o Explorer trava depois que você seleciona um AVI. É mais raro, mas acontece, principalmente se o AVI estiver corrompido.
Eu não conheço um meio ainda de dizer ao Explorer para não abrir o AVI ao posicionar o mouse sobre ele (até mesmo porque isso acontece com todos os tipos de arquivo), mas existem dois meios de impedir que ele faça isso ao selecionar o arquivo, que é a operação que geralmente demora mais:
1) Apague a chave do registro:
HKEY_CLASSES_ROOT\SystemFileAssociations\.avi\shellex\PropertyHandlerou
2) Execute o comando regsvr32 /u shmedia.dll
Não é preciso reiniciar o Windows.
As duas opções fazem virtualmente a mesma coisa. Seja lá qual for sua opção, executar regsvr32 shmedia.dll reverte ao estado de antes.
Nota: shmedia.dll é também chamada de “Media Preview”.
Como efeito colateral benigno, abrir arquivos AVI no Windows Media Player vai ficar perceptívelmente mais rápido, porque o WMP não vai mais competir com o Explorer pelo arquivo por vários segundos. Aquela mensagem “Conectando…” que demorava tanto que parecia que o WMP estava indo buscar o arquivo na internet vai desaparecer muito mais rápido;
25/111/2009: A Microsoft tem agora um hotfix para o problema. Não sei o que faz porque não testei ainda

Seja o primeiro a comentar!

Postar um comentário

Related Posts Plugin for WordPress, Blogger...

Veja mais...

2leep.com

Sign by Danasoft - For Backgrounds and Layouts