Загрузить диалоговое окно замедление доступа к диску в Windows 10

Загрузить диалоговое окно замедление доступа к диску в Windows 10

Короче говоря, из-за моей комбинации жестких дисков загрузка диалоговых окон занимает около 6 секунд, что также подтверждается кодом, и я не могу найти никакого решения.

У меня долгое время была Windows 7, и я полностью игнорировал 8. Пока я работал на 7, мне приходилось терпеть очень долгое время загрузки, но в остальном я был доволен производительностью во всем.

Прямо перед выпуском Windows 10 я стиснул зубы и установил ее, чтобы хотя бы попытаться идти в ногу со временем. В то же время я получил новый SSD, чтобы установить ее, чтобы облегчить свои проблемы с запуском. Все установилось гораздо более гладко, чем я надеялся, и я вернулся к скорости в кратчайшие сроки. Болезни роста практически не существовали, за исключением одной занозы в моем боку: иногда, когда я вызывал диалоговое окно загрузки, требовалось ~5-10 секунд, прежде чем оно появлялось.

(Прежде чем вы вскочите и скажете "профиль питания", это не он, он настроен никогда не останавливать вращение жестких дисков.) Я говорю "иногда", потому что мне потребовалось некоторое время, чтобы понять, какие программы это делают, - сначала я думал, что это были все, но Chrome и другие, похоже, исправили это поведение. Крупный, который все еще производит такое поведение каждый раз, - это Gimp 2.8; независимо от того, что я делаю, если я сохраняю новый файл или иду на загрузку, мне приходится ждать 5-10 секунд, пока всплывет диалоговое окно.

Сначала я думал, что это ошибка в самой Windows 10, но потом, когда Chrome и т. д. стали лучше, я решил, что это просто что-то с Gimp, что было бы не первой странностью, с которой я столкнулся в этой программе. Но затем я немного приблизился к оборудованию и обнаружил, что это не вина Gimp.

Я занимаюсь программированием игр на Unity и сейчас работаю над диалогом сохранения/загрузки общего назначения с использованием C# (и устаревших библиотек Mono). Когда я впервые заставил работать браузер файлов, он был медленным как патока — я списал это на плохой метод с моей стороны, но когда я занялся его оптимизацией, я обнаружил, что большая часть времени ожидания была вызвана одной строкой кода:

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

После измерения эта задержка оказалась эквивалентной замедлению Gimp: 5,5 секунд, и все это для того, чтобы Windows сообщила: «У вас есть диски C:, D:, E: и F:». Явзломал модификацию моего диалога загрузкипоэтому он отображал эту задержку информации о диске и подтверждал, что каждый раз, когда программа запускается, у меня задержка составляет ~5-6 секунд. Просто чтобы услышать ответ от вызова API системы, чтобы получить список путей к жестким дискам.

Чтобы оценить, насколько это плохо, я запустил эту же программу, ссылку на которую я привел выше, на ноутбуке моей жены, ноутбуке моего брата, настольном компьютере моего отца (все три на Windows 10) и mac mini моей матери (после перекомпиляции для целевой платформы MacOS). На каждом из них задержка составляет десятки миллисекунд, как раз то, что я и ожидал. Mac mini потребовалось около 20 секунд только для загрузки этой чертовой программы, но как только она была запущена, бац, загрузка жестких дисков из этой единственной строки кода заняла менее десятой доли секунды.

Так что теперь я в растерянности. Профиль питания настроен так, чтобы никогда не отключать диски; мой BIOS настроен на AHCI для SSD; я установил файл подкачки нединамическим; я отключил индексацию и службу поиска Windows; все дефрагментировано. Я даже загрузился обратно в Windows 7, чтобы посмотреть состояние вещей; ни одна из программ не имела никакой задержки диалога загрузки, но когда я запустил свой маленький инструмент загрузки, он постоянно показывал 5,5 секунд для загрузки дисков.

Должен отметить, что в течение этих 5 секунд не наблюдается резкого скачка нагрузки на процессор/память или диск; вот снимок экрана программы сразу после запуска, на фоне которого работает диспетчер задач:ссылка на imgur.

Вот скриншот управления дисками:ссылка на imgur. Диск 0 — это SSD, Диск 1 — новый диск на 1 ТБ, Диск 2 — старый диск Caviar Black на 1 ТБ, а Диск 3 — диск Caviar Green на 2 ТБ (больше никогда; у него есть встроенная функция отключения диска на 20 минут. Я почти уверен, что это не причина, так как повторные тесты по-прежнему показывают задержку в 5 секунд).

Есть ли у кого-нибудь идеи, что еще я могу попробовать? В основном мне приходится загружаться с некоторыми отключенными дисками, чтобы посмотреть, не вызывает ли какой-либо отдельный диск проблемы (хотя я пробовал переводить все, кроме дисков 0 и 1, в автономный режим в управлении дисками, но безрезультатно). Любая помощь будет очень кстати.

РЕДАКТИРОВАТЬ:Некоторые дополнительные выводы: После отключения всех жестких дисков (включая мой привод Blu-ray, оставив мне только один SSD) проблема осталась. После полного отключения интернета и отключения обнаружения сети проблема осталась.

Кроме того, отметка в 5,5 секунд, похоже, является твердым числом. Время "Disk Walk" моего инструмента (сколько времени требуется для чтения первого уровня каталогов каждого диска) сильно варьируется, в то время как время чтения диска всегда находится в диапазоне 5,550-5,580. Это, похоже, указывает на то, что где-то происходит какой-то тайм-аут в 5,5 секунд.

ПРАВКА 2:Я загрузился в Windows 7, подключив только 2 диска по 1 ТБ. Время загрузки все еще ограничено 5,5 секундами ожидания, дажебеззадействован SSD, что убивает мою ведущую теорию о первопричине. Это наводит меня на мысль, что, возможно, проблема с драйверами ввода материнской платы?

Мое оборудование, просто на всякий случай, если это окажется уместным:

  • Процессор:AMD Phenom II X4 965-черный
  • Материнская плата:Гигабайт GA-790XTA-UD4
  • Видео:AMD HD 5770
  • SSD-накопитель:OCZ ARC 100 240 ГБ
  • Жесткий диск:WD Black 1 ТБ (2013)
  • Жесткий диск:WD Green 2 ТБ (2011)
  • Жесткий диск:WD Black 1 ТБ (2010)

решение1

Горбарансынбизнесмен.

Это былонесуществующий дисковод. Никто никогда не ожидает драйва, которого у него нет!

На моей материнской плате есть контроллер флоппи-дисковода, который, по-видимому, как технология родом из эпохи, когда проверка того, подключено ли что-либо, считалась пустой тратой тактовых циклов. Каждый раз, когда я запускал System.IO.Directory.GetLogicalDrives(), он ждал, пока призрачный диск не выйдет из строя.

Я открыл свой BIOS и нашел настройку, которая полностью отключает дискету, что полностью устранило проблему. Gimp теперь тоже загружается без сбоев.

Я чертовски хороший детектив.

решение2

К вашему сведению -- отключениеДисководы для гибких дисков>Дисковод для гибких дисковв диспетчере устройств мне помогло. Мне было лень перезагружать и возиться с BIOS.

Связанный контент