Ralentización del acceso al disco de diálogo de carga en Windows 10

Ralentización del acceso al disco de diálogo de carga en Windows 10

TL;DR, mi combinación de disco duro está provocando que los cuadros de diálogo de carga tarden ~6 segundos en cargarse, lo que también se confirma mediante código, y no encuentro ningún alivio.

Tuve Windows 7 durante mucho tiempo, ignorando el 8 por completo. Mientras estuve en 7, tuve que soportar un tiempo de inicio muy largo, pero por lo demás estaba satisfecho con el rendimiento en todo.

Justo antes de que se lanzara Windows 10, me arriesgué y lo instalé para al menos poder intentar mantenerme al día. Al mismo tiempo, compré un nuevo SSD para instalarlo y aliviar mis problemas de inicio. Todo se instaló mucho mejor de lo que esperaba y recuperé la velocidad en poco tiempo. Los dolores de crecimiento eran prácticamente inexistentes, excepto por una espina en mi costado: ocasionalmente, cuando abría un cuadro de diálogo de carga, tomaba entre 5 y 10 segundos antes de que apareciera.

(Antes de que saltes y digas "perfil de energía", no es eso, está configurado para no apagar nunca los discos duros). Sólo digo "ocasionalmente" porque me tomó un tiempo descubrir qué programas lo estaban haciendo, en Primero, creo que fue todo, pero Chrome y otros parecen haber solucionado el comportamiento. El más grande que todavía produce el comportamiento cada vez es Gimp 2.8; No importa lo que haga, si guardo un archivo nuevo o lo voy a cargar, tengo que esperar entre 5 y 10 segundos para que aparezca el cuadro de diálogo.

Al principio pensé que era un error en el propio Windows 10, pero luego, a medida que Chrome y otros mejoraron, pensé que debía ser algo con Gimp, que no sería la primera rareza que encuentro con ese programa. Pero luego me acerqué un poco más al hardware y descubrí que no era culpa de Gimp.

Hago programación de juegos en Unity y actualmente estoy trabajando en un cuadro de diálogo para guardar/cargar de propósito general usando C# (y bibliotecas Mono obsoletas). Cuando hice que el explorador de archivos funcionara por primera vez, era lento como la melaza; lo atribuí a un método deficiente de mi parte, pero cuando comencé a optimizarlo, descubrí que la gran mayoría del tiempo de espera se debía a una sola línea de código:

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

Después de medirlo, este retraso equivalía a la desaceleración de Gimp: 5,5 segundos, todo para que Windows dijera "tienes una unidad C:, D:, E: y F:". Ihackeé una modificación a mi diálogo de cargapor lo que mostraría este retraso en la información de la unidad y confirmaría que cada vez que se ejecuta el programa, tengo un retraso de ~5 a 6 segundos. Solo para recibir una llamada a la API del sistema para obtener una lista de rutas de disco duro.

Para poner en perspectiva lo malo que es esto, ejecuté este mismo programa vinculado arriba en la computadora portátil de mi esposa, la computadora portátil de mi hermano, la computadora de escritorio de mi padre (las tres en Windows 10) y la Mac mini de mi madre (después de recompilar para un objetivo MacOS). . En todos y cada uno de ellos, el retraso es de decenas de milisegundos, exactamente lo que esperaría. El Mac mini tardó unos 20 segundos en cargar el maldito programa, pero una vez que estuvo ejecutándose, boom, menos de una décima de segundo en cargar los discos duros desde esa única línea de código.

Así que ahora estoy perdido. El perfil de energía está configurado para no apagar nunca las unidades; mi BIOS está configurado en AHCI para el SSD; He configurado el archivo de página para que no sea dinámico; He desactivado la indexación y el servicio de búsqueda de Windows; todo está desfragmentado. Incluso reinicié Windows 7 para ver el estado de las cosas; Ninguno de los programas tuvo ningún tipo de retraso en el diálogo de carga, pero cuando ejecuté mi pequeña herramienta de carga, mostró constantemente 5,5 segundos para cargar las unidades.

Debo señalar que durante esos 5 segundos, no hay un gran aumento de CPU/memoria o acceso al disco; Aquí hay una captura de pantalla del programa momentos después de su ejecución, con el administrador de tareas en segundo plano:enlace imgur.

Aquí hay una captura de pantalla de la administración de discos:enlace imgur. El disco 0 es el SSD, el disco 1 es una unidad reciente de 1 TB, el disco 2 es una unidad Caviar Black de 1 TB más antigua y el disco 3 es una unidad Caviar Green de 2 TB (nunca más; tiene un apagado de disco incorporado cada 20 minutos). Estoy razonablemente seguro de que no es la causa de esto, ya que las pruebas repetidas todavía tienen un retraso de 5 segundos).

¿Alguien tiene alguna idea sobre algo más que pueda probar? Básicamente, me veo obligado a arrancar con algunas de las unidades desconectadas para ver si alguna unidad individual está causando problemas de alguna manera (aunque intenté configurar todos menos los discos 0 y 1 fuera de línea en la administración de discos, sin éxito). Cualquier ayuda sería muy apreciada.

EDITAR:Algunos hallazgos adicionales: después de desconectar todos los discos duros (incluida mi unidad de Blu Ray, dejándome solo con un SSD), el problema persiste. Después de desconectar completamente Internet y deshabilitar la detección de redes, el problema persiste.

Además, la marca de 5,5 segundos parece ser una cifra sólida como una roca. El tiempo de "Recorrido del disco" de mi herramienta (que es el tiempo que tarda en leerse el primer nivel de directorios de cada disco) varía enormemente, mientras que el tiempo de lectura del disco siempre está en el rango 5.550-5.580. Esto parece indicar que se está produciendo algún tipo de tiempo de espera de 5,5 segundos en alguna parte.

EDITAR 2:Arranqué Windows 7 con solo las 2 unidades de 1 TB conectadas. El tiempo de carga todavía está sujeto a la espera de 5,5 segundos, inclusosinel SSD involucrado, lo que acaba con mi teoría principal sobre la causa raíz. Esto me sugiere que tal vez haya un problema con los controladores de entrada de la placa base, ¿tal vez?

mi hardware, por si termina siendo pertinente:

  • Procesador:AMD Phenom II X4 965-Negro
  • Tarjeta madre:Gigabyte GA-790XTA-UD4
  • Video:AMD HD 5770
  • SSD:OCZ ARCO 100 240GB
  • Disco duro:WD Negro 1TB (2013)
  • Disco duro:WD Verde 2TB (2011)
  • Disco duro:WD Negro 1TB (2010)

Respuesta1

gorRAMhijo deempresario.

Era elunidad de disquete inexistente. ¡Nadie espera jamás el impulso que no tiene!

Mi placa base tiene un controlador de disquete, que aparentemente como tecnología proviene de la época en la que verificar si algo está conectado se consideraba una pérdida de ciclos de reloj. Cada vez que corría System.IO.Directory.GetLogicalDrives(), estaba esperando a que se agotara el tiempo de espera del disco fantasma.

Abrí mi BIOS y encontré una configuración para desactivar el disquete por completo, lo que provocó que el problema se evaporara por completo. Gimp ahora también se carga perfectamente.

Soy un excelente detective.

Respuesta2

Para su información: deshabilitarUnidades de disquete>Unidad de disqueteen el Administrador de dispositivos funcionó para mí. Era demasiado vago para reiniciar y trastear en el BIOS.

información relacionada