Lentidão no acesso ao disco do Load Dialog no Windows 10

Lentidão no acesso ao disco do Load Dialog no Windows 10

DR, minha combinação de disco rígido está fazendo com que as caixas de diálogo de carregamento demorem cerca de 6 segundos para carregar, o que também é confirmado por código, e não consigo encontrar nenhum alívio.

Eu tive o Windows 7 por muito tempo, ignorando completamente o 8. Enquanto eu estava no 7, tive que suportar um tempo de inicialização muito longo, mas por outro lado fiquei satisfeito com o desempenho em tudo.

Pouco antes do lançamento do Windows 10, eu me arrisquei e instalei-o para poder pelo menos tentar acompanhar os tempos. Ao mesmo tempo, recebi um novo SSD para instalá-lo e aliviar meus problemas de inicialização. Tudo foi instalado de maneira muito mais tranquila do que eu esperava e voltei a funcionar rapidamente. As dores do crescimento eram praticamente inexistentes, exceto por um único espinho no meu lado: ocasionalmente, quando eu abria uma caixa de diálogo de carregamento, demorava cerca de 5 a 10 segundos antes mesmo de aparecer.

(Antes de você pular e dizer "perfil de energia", não é isso, está configurado para nunca desacelerar os discos rígidos.) Eu só digo "ocasionalmente" porque demorei um pouco para descobrir quais programas estavam fazendo isso - em primeiro acho que foi tudo, mas o Chrome e outros parecem ter corrigido o comportamento. O grande que ainda produz o comportamento sempre é o Gimp 2.8; não importa o que eu faça, se eu salvar um novo arquivo ou for carregá-lo, terei que esperar de 5 a 10 segundos para que a caixa de diálogo apareça.

No começo pensei que fosse um bug no próprio Windows 10, mas depois, à medida que o Chrome e outros melhoraram, imaginei que deveria ser apenas algo com o Gimp, o que não seria a primeira estranheza que encontrei com esse programa. Mas então me aproximei um pouco mais do hardware e descobri que não era culpa do Gimp.

Eu faço programação de jogos em Unity e atualmente estou trabalhando em uma caixa de diálogo de salvamento/carregamento de uso geral usando C# (e bibliotecas Mono desatualizadas). Quando fiz o navegador de arquivos funcionar pela primeira vez, ele estava lento como melaço - considerei isso um método ruim de minha parte, mas ao otimizá-lo, descobri que a grande maioria do tempo de espera era causada por uma única linha de código:

string[] drives = System.IO.Directory.getLogicalDrives();

Depois de medi-lo, esse atraso foi equivalente à desaceleração do Gimp: 5,5 segundos, tudo para o Windows dizer “você tem uma unidade C:, D:, E: e F:”. EUhackeei uma modificação na minha caixa de diálogo de carregamentoportanto, ele exibiria esse atraso nas informações da unidade e confirmaria que toda vez que o programa é executado, tenho um atraso de aproximadamente 5 a 6 segundos. Apenas para receber uma resposta de uma chamada da API do sistema para obter uma lista de caminhos de disco rígido.

Para colocar em perspectiva o quão ruim isso é, executei o mesmo programa vinculado acima no laptop da minha esposa, no laptop do meu irmão, no desktop do meu pai (todos os três no Windows 10) e no mac mini da minha mãe (após recompilar para um destino MacOS) . Em cada um deles, o atraso é de dezenas de milissegundos, exatamente o que eu esperaria. O Mac Mini levou cerca de 20 segundos apenas para carregar o maldito programa, mas depois de rodar, bum, menos de um décimo de segundo para carregar os discos rígidos daquela única linha de código.

Então agora estou perdido. O perfil de energia está configurado para nunca desligar as unidades; meu BIOS está configurado para AHCI para o SSD; Eu configurei o arquivo de paginação para não ser dinâmico; Desativei a indexação e o serviço Windows Search; tudo está desfragmentado. Até reiniciei o Windows 7 para ver o estado das coisas; nenhum dos programas apresentou qualquer tipo de atraso na caixa de diálogo de carregamento, mas quando executei minha pequena ferramenta de carregamento, ela mostrou consistentemente 5,5 segundos para carregar as unidades.

Devo observar que durante esses 5 segundos, não há um grande pico de CPU/memória ou acesso ao disco; aqui está uma captura de tela do programa momentos após a execução, com o gerenciador de tarefas em segundo plano:link imgur.

Aqui está uma captura de tela do gerenciamento de disco:link imgur. O disco 0 é o SSD, o disco 1 é uma unidade recente de 1 TB, o disco 2 é uma unidade Caviar Black de 1 TB mais antiga e o disco 3 é uma unidade Caviar Green de 2 TB (nunca mais; possui desligamento de disco integrado de 20 minutos. Eu' Tenho quase certeza de que não é a causa disso, já que testes repetidos ainda têm um atraso de 5 segundos cada).

Alguém tem alguma ideia de mais alguma coisa que eu possa tentar? Estou basicamente reduzido a inicializar com algumas unidades desconectadas para ver se alguma unidade individual está de alguma forma causando problemas (embora eu tenha tentado configurar todos, exceto os discos 0 e 1, offline no gerenciamento de disco, sem sucesso). Qualquer ajuda seria muito apreciada.

EDITAR:Algumas descobertas adicionais: Depois de desconectar todos os HDDs (incluindo minha unidade Blu Ray, deixando-me apenas com um SSD), o problema persiste. Depois de desconectar completamente a Internet e desativar a descoberta de rede, o problema persiste.

Além disso, a marca de 5,5 segundos parece ser um número sólido como uma rocha. O tempo de "Disk Walk" da minha ferramenta (que é quanto tempo leva para o primeiro nível de diretórios de cada disco ser lido) varia muito, enquanto o tempo de leitura do disco está sempre na faixa de 5.550-5.580. Isso parece indicar que algum tipo de tempo limite de 5,5 segundos está acontecendo em algum lugar.

EDITAR 2:Inicializei no Windows 7 com apenas as 2 unidades de 1 TB conectadas. O tempo de carregamento ainda está subordinado à espera de 5,5 segundos, mesmosemo SSD envolvido, o que mata minha principal teoria sobre a causa raiz. Isso me sugere que talvez haja um problema com os drivers de entrada da placa-mãe, talvez?

Meu hardware, caso acabe sendo pertinente:

  • Processador:AMD Phenom II X4 965-Preto
  • Placa-mãe:Gigabyte GA-790XTA-UD4
  • Vídeo:AMD HD 5770
  • SSD:OCZ ARCO 100 240 GB
  • Disco rígido:WD Preto 1 TB (2013)
  • Disco rígido:WD Verde 2 TB (2011)
  • Disco rígido:WD Preto 1 TB (2010)

Responder1

Gorbaterfilho de umahomem de negocios.

Foi ounidade de disquete inexistente. Ninguém espera a motivação que não tem!

Minha placa-mãe tem um controlador de disquete, que aparentemente é uma tecnologia que vem da época em que verificar se algo estava conectado era considerado um desperdício de ciclos de clock. Cada vez que eu corria System.IO.Directory.GetLogicalDrives(), ele esperava o tempo limite da viagem fantasmagórica.

Abri meu BIOS e encontrei uma configuração para desabilitar completamente o disquete, o que fez com que o problema desaparecesse completamente. O Gimp agora também carrega perfeitamente.

Sou um detetive muito bom.

Responder2

Para sua informação - desabilitandoUnidades de disquete>Unidade de disqueteno Gerenciador de dispositivos funcionou para mim. Eu estava com preguiça de reiniciar e mexer no BIOS.

informação relacionada