Как запретить проводнику Windows медленно читать содержимое файла для создания метаданных?

20

У нас есть каталоги, содержащие сотни видеофайлов. При использовании Проводника Windows (Windows 7 64 Pro) для просмотра и перестановки этих каталогов Проводник замедляется до непригодного уровня, использует гигабайты ОЗУ и препятствует или замедляет использование другими программами (такими как Media Center) того же диска, пока это в процессе.

Это сопровождается очень медленно растущей зеленой полосой в слоте адреса.

Похоже, что Explorer делает чтение содержимого видеофайла для создания миниатюр или получения других метаданных. Это не полезно для наших целей, поэтому мы хотели бы отключить это поведение. Как это сделать?


Эти темы могут быть связаны:


2014-04-14: Резюме предложений и выводов

Я думаю, что на данный момент мы вполне удовлетворены ответами, а остальные симптомы не связаны с Windows Explorer. Итак, с кратким изложением предложений и нескольких других вещей, которые мы узнали.

Общие Соображения

Пробуждение диска: начальная медлительность при обращении к диску после длительного периода простоя может быть связана с тем, что диск перешел в спящий режим.

Ошибки на диске: очевидно, что при наличии аппаратных ошибок, которые приводят к повторным попыткам, это серьезно замедлит работу Explorer и любой другой программы.

Конфликт диска: Другие программы, выполняющие интенсивную работу на том же диске, очевидно, будут бороться с медленными попытками Explorer отобразить содержимое диска. Если Проводнику нужно только читать каталог, то влияние может быть минимальным, но если Проводнику также нужно прочитать каждый файл для метаданных, тогда проблемы конфликта будут значительно увеличены.

Конфликт диска из-за антивирусного программного обеспечения. Попытки Explorer читать метаданные могут побудить AV-программное обеспечение сначала прочитать и подтвердить все файлы. Рассмотрите возможность отключения AV для доверенных типов файлов (например, файлы wtv, сохраненные Media Center).

Настройки проводника

Отключить отображение миниатюр: «Упорядочить» → «Папка и параметры поиска» → «Вид» → поставить галочку в «всегда показывать значок вместо миниатюр» → нажмите «Применить» и закрыть.

Отключить сбор метаданных, относящихся к видео: папка Culprit → «свойства» → «настроить» → в разделе «оптимизировать эту папку для:» откройте раскрывающееся меню и выберите «общие элементы» → установите флажок в раскрывающемся меню на «применить ко всем подпапкам» → нажмите «Применить» и закройте.

Отключите сбор метаданных, относящихся к видео. В «подробном представлении» папки-виновника удалите все столбцы, основанные на метаданных видеофайла, которых нет в информации каталога файловой системы. Сюда входит столбец Длина (длительность), а также столбец Дата (на основе метаданных видео и отличается от столбцов «Дата создания» и «Дата изменения» в файловой системе).

В реестре

Отключите «Обработчики свойств» для видео расширений файлов (таких как wtv, mp3 и т. Д.). Это, конечно, применимо ко всей системе, а не только к отдельным каталогам. Может быть выполнено с помощью RegEdit или сторонней программы ShellExView. (См. Ответы для деталей.)

Подробнее о миниатюрах и других тайниках

Мы отметили, что после отключения миниатюр и метаданных при их повторном включении производительность была высокой. (То есть: зеленая полоса медлительности не вернулась.) Это говорит о том, что изменения что-то сделали с кэшем миниатюр, возможно, удалили их и позже перестроили. Оказывается, по умолчанию Explorer сохраняет миниатюры в каждом каталоге (в thumbs.db), а также в пользовательском каталоге AppData \ Local \ Microsoft \ Windows \ Explorer в наборе файлов thumbcache * .db. Возможно, они попали в раздутое или иное медленное состояние, и их удаление может вызвать более быструю работу.

Нам неизвестно, кэширует ли Проводник какую-либо другую информацию метаданных (такую ​​как Длина, Дата, Местоположение, Защита и т. Д.).

Другие взаимодействия

Не относится к Explorer как таковой, но потенциально полезные подсказки.

Мы отметили в Диспетчере задач> Монитор ресурсов, что Media Center выполнял некорректное поведение, которое вызывало большую активность на диске: компонент медиацентра ehrec.exe бесконечно циклически читал несколько k данных из определенного набора видеофайлов - - на одном диске около 200 видеофайлов. Похоже, что Media Center не может завершить чтение метаданных из этих файлов и просто пытается читать файлы, для которых у него нет полных метаданных. Эти файлы кажутся неповрежденными, что касается файловой системы (может копировать без проблем). Когда мы попросили Explorer отобразить каталоги на этом конкретном диске, предположительно, активность Media Center конкурировала за время доступа к диску. Мы отключили этот диск для других тестов.


Спасибо всем респондентам.

gwideman
источник
Решение, которое вы связали, вполне может сработать, если ключ PropertyHandlers содержит расширение ваших видеофайлов, тогда удаление GUID (который просто указывает на dll с кодом метаданных в нем) вполне может сработать. Вы можете сделать резервную копию ключа перед рукой.
cjb110
@ cjb110: Вы предполагаете, что создание практически пустого ключа PropertyHandler лишит Explorer возможности извлекать метаданные? Это кажется правдоподобным, но вы действительно пробовали это?
gwideman
Я бы попробовал, но у меня нет машины с Win7. Предполагается, что ключ PropertyHandler является «основным» способом сделать это. Если вы не видите свои расширения, я бы не стал беспокоиться ... но было бы довольно безопасно попытаться, если бы они были там, так как вы можете легко сделать резервную копию ключа более высокого уровня.
cjb110
Да, и полностью удалить ключ расширения кажется лучше, чем удалить или сделать GUID недействительным.
cjb110
1
Ну, это был первый раз, когда я взаимодействовал на этом сайте, и я должен сказать, что я впечатлен тем, как все здесь обрабатывается. Изначально я хотел присоединиться к stackoverflow для некоторых вопросов, связанных с программированием, и боялся, что stackexchange окажется еще одним ответом «Yahoo!!». Я очень рад, что это не так. Приятно слышать, что вы, кажется, исправили свою проблему! Кажется, мы оба тоже кое-что узнали! Ура!
острому

Ответы:

11

ЗАКЛЮЧИТЕЛЬНОЕ ОБНОВЛЕНИЕ:

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


Вы должны попробовать две вещи:

  1. В проводнике нажмите «организовать» -> «папка и параметры поиска» -> «просмотр» -> установите флажок «всегда показывать значок вместо миниатюр» -> нажмите «Применить» и закрыть.

  2. Теперь щелкните правой кнопкой мыши по папке «виновник» -> «Свойства» -> «Настроить» -> под «Оптимизировать эту папку для:», откройте выпадающее меню и выберите «Общие элементы» -> установите флажок в поле под раскрывающимся списком. Вниз меню на «Применить ко всем подпапкам» -> нажмите «Применить» и закройте. Это позволит применить новые настройки просмотра папок к выбранной папке и ко всем подпапкам, которые в ней содержатся.

Я немец и, следовательно, у меня немецкая версия окон, поэтому, возможно, некоторые из этих вариантов переведены немного по-другому, но вы все равно сможете их найти.

Обновление 1:

Я думаю, что вы на правильном пути с метаданными. В зависимости от того, как закодированы видео, метаданные могут быть либо в начале, в конце, либо даже где-то посередине (хотя это редко). Я предполагаю, что эти видеофайлы были закодированы с некоторыми необычными свойствами (вы, вероятно, создали их самостоятельно?), Что заставляет проводник читать весь файл от начала до конца для извлечения метаданных, что, очевидно, занимает много времени, если имеется много больших файлов в папке. Я видел, как проводник прочитал всю длину гигантского exe-файла, чтобы отобразить встроенный значок в конце.

Итак, я думаю, вы уже поняли, что определение и отключение столбцов, которые должны извлекать метаданные из представления в проводнике (вместе с отключенными миниатюрами), должны устранить необходимость чтения обозревателем этих файлов, что должно решить вашу проблему.

Столбцы, которые вы, вероятно, не должны использовать, это что-то вроде: взятая дата (как упомянуто в одной из опубликованных вами ссылок, взятая дата сильно отличается от даты создания файла), длина, разрешение, местоположение.

Столбцы, которые вы должны безопасно использовать, будут атрибутами, которые могут быть прочитаны непосредственно из каталога файловой системы, такими как: дата создания файла, дата изменения файла, размер, тип файла.

Если вам действительно нужно отсортировать некоторые атрибуты, которые следует отключить, я думаю, что, возможно, наиболее практичным решением будет поиск альтернативного файлового браузера и проверка, лучше ли он справляется с ситуацией. Затем вы можете использовать проводник, как обычно, и использовать альтернативный файловый браузер для обработки ваших видео папок.

У вас также есть возможность выполнять многие основные файлово-ориентированные операции из встроенного интерпретатора командной строки cmd, он не заботится о метаданных и может быть простым и эффективным инструментом для копирования, перемещения или удаления файлов и папок. Тогда вы могли бы даже автоматизировать вещи с помощью пакетных файлов. Это, скорее всего, не то решение, которое вы ищете, так как cmd даже не имеет графического интерфейса пользователя.

Обновление 2:

Я только что прочитал ваше второе обновление, и я счастлив прочитать, что ваша проблема, кажется, решена (на данный момент, по крайней мере). Может быть, дело в том, что кеш миниатюр переполнен. Я мог бы представить, что эти файлы thumbs.db становятся все больше и больше, если вы часто перемещаете файлы из папки в папку. Я подозреваю, что на самом деле он сохраняет миниатюру в этом файле кэша для каждого файла, который когда-либо был в папке. Возможно, для этих файлов тоже есть какой-то механизм сбора мусора, но в вашем случае это не сработало.

Итак, если вы перемещали видеофайлы из одной папки в другую, и всегда использовали для этого одни и те же папки (например, не создавая новые), возможно, мы нашли источник вашей проблемы ...

Если ваша система снова обнаружит те же симптомы в будущем, попробуйте удалить кэш миниатюр. Для этого вам необходимо:

«windowskey + r» -> введите «cleanmgr» и нажмите return -> выберите диск, на котором находятся видеофайлы (только если у вас на самом деле есть несколько дисков / разделов) -> выберите «очистить кэш миниатюр» или что-то в этом роде -> бегать чище

острому
источник
Благодарю. Первоначальная проверка этих предложений является смешанной, поэтому может потребоваться что-то дополнительное. Мы попробуем еще несколько вариантов.
gwideman
У меня больше догадок, хотя я менее уверен в них: вы случайно не запускаете более одной антивирусной программы? Или, может быть, антивирусная программа от одного поставщика и HIPS от другого? Вы установили какие-либо кодеки или пакеты кодеков? Моим последним предположением будет один или несколько поврежденных файлов в этих папках. Проводник только тормозит в папках видео?
горячо
Спасибо за дополнительные идеи. Я добавил отчет о результатах до сих пор. Антивирус: MS Security Essentials. Нет добавленных кодеков, о которых я знаю. Поврежденные файлы, которые трудно исключить, но не так заметно, так как они в конечном итоге выдают миниатюры, когда это включено. Медленно в папках с большим количеством видео файлов. Я уверен, что именно видео аспект замедлял начальное отображение. Аспект «многие» может замедлить сортировку.
gwideman
если вы используете только основы безопасности, это почти наверняка не проблема (хотя, возможно, вам следует поискать альтернативу: ссылка ). Известно, что при одновременной работе двух сканеров в реальном времени возникают странные проблемы, поэтому я просто предположил. сортировка чего-то - это просто сравнение значений, что-то, что компьютер должен быть очень хорошим, я думаю, что вы на правильном пути с извлечением некоторых метаданных, замедляющих процесс.
горячо
1
Спасибо за ваши дополнительные комментарии. Определенно согласен с принципом, что детали из каталога являются быстрыми, тогда как элементы данных, считываемые из каждого файла, потенциально медленны. Нашим основным вариантом использования являются файлы Windows Media, а не какой-то самодельный формат. И, конечно, всегда можно прибегнуть к альтернативному программному обеспечению и / или командной строке :-) Но, черт возьми, Explorer должен быть побежден!
gwideman
2

При изменении трех параметров объекта групповой политики, вероятно, будет достигнуто такое же поведение, как и на компьютере.

введите описание изображения здесь

Чтобы попасть туда, запустите редактор групповой политики из командной строки.

gpedit.msc

Перейдите к следующему узлу.

User Configuration\Administrative Templates\Windows Explorer

Встроенная документация будет хорошим началом, чтобы узнать, что делает каждый параметр.

Обратите внимание, что вам нужны административные права для внесения изменений в настройки объекта групповой политики.

MFT
источник
Спасибо, но это полностью отключает эскизы для всех типов файлов, всех каталогов, верно? Если бы это было только для видеофайлов, это могло бы быть подходящим решением, но мы не хотим, чтобы миниатюры отключались для обычных изображений. Несмотря на это, может быть полезным тестом.
gwideman
2
Если вы хотите применить его специально для видеофайлов, вы можете посмотреть на похожий вопрос, на который дан ответ: superuser.com/questions/152272/…
MFT
Интересная ссылка. Похоже, что shexview предоставляет пользовательский интерфейс для ключей реестра PropertyHandler, упомянутых в статье, на которую я ссылался в этом вопросе. Может быть полезно +1
gwideman
1

Мое решение было достигнуто косвенно. Я заметил, что файлы MKV содержат «дату», которая не может быть изменена обычным способом, чтобы файл отражался при получении, как показано в свойствах файла. В отчаянии я изменил столбец в проводнике Windows с просто «дата» на «дата создания», а затем установил опцию просмотра, чтобы сделать это по умолчанию для всех папок. Мало того, что это решило мою проблему сортировки, но GROD был также вылечен. Отсутствие необходимости углубляться в структуру тегов каждого файла, очевидно, является причиной этого лечения.

jimekus
источник
0

У меня была точно такая же проблема на моей Windows 7, 64-битной машине. Это началось пару месяцев назад, когда при открытии папки на внешнем диске Western Digital метаданные для файлов в любой папке отображались в течение нескольких минут, тогда как я помню, что раньше они отображались почти мгновенно. Открытие файла, а затем его закрытие приведет к повторному обновлению всей папки и еще к двум минутам. Поэтому я провел некоторое расследование (решение следует):

  1. Я запустил ноутбук в безопасном режиме, и все медленные проблемы с Windows Explorer исчезли.

  2. Я перезапустил ноутбук в обычном режиме и пошел в «Пуск», затем набрал msconfig в поле «Выполнить» и выбрал вкладку «Автозагрузка». Я отключил почти все элементы автозагрузки (кроме процессов Microsoft или Intel). Перезагрузка - без изменений

  3. Снова используя msconfig, я снова включил все процессы, которые отключил на шаге 2. Затем я перешел на вкладку «Службы». Я щелкнул заголовок «Состояние», чтобы отсортировать все службы по «Работает» или «Остановлен», и проверил все запущенные службы. Сначала я отключил все свои антивирусы и вредоносные программы (Avast, AdAware и Spybot). Перезагрузился - решено !!

Теперь, когда я открываю папку, все файлы с их метаданными появляются практически мгновенно. В процессе устранения это была программа AdAware, которая вызывала замедление. Я удалил его и заменил на Malwarebytes. Это не замедляет мою машину.

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

Rock Vacirca
источник
-1

Это вызвано службой поиска Windows . Вы можете просто отключить службу, установив для службы поиска Windows значение « Отключено» и вручную остановив службу (щелкните правой кнопкой мыши службу и выберите « Остановить» ). Microsoft размещает сервис там, чтобы якобы ускорить Windows (да ладно, что угодно).

Вы также можете оставить сервис запущенным и просто отключить его для выбранных типов файлов. После того, как вы определите типы файлов, для которых вы хотите отключить индексирование (.AVI, .MPEG, .WMV и т. Д.):

  1. Открытая панель управления
  2. Чтобы выбрать Windows Search, введите «Параметры индексирования» в строку поиска и откройте ее. Или вы можете выбрать его, изменив вид на большие или маленькие значки, а затем открыв Параметры индексирования. Или вы можете сделать это, используя просмотр по категориям - в главном окне панели управления выберите «Система и безопасность» - «Центр действий» - «Просмотр информации о производительности» - «Настройка параметров индексирования».
  3. Нажмите «Дополнительно» и выберите вкладку «Типы файлов».
  4. Снимите флажок (снимите флажок) рядом с расширением (ями) типа файлов, для которых вы хотите отключить индексацию.

Надеюсь, это поможет вам ускорить процесс. Удачи!!

STGdb
источник
1
Служба индексирования не может замедлить работу обозревателя, однако при индексировании файлов доступ к диску замедляется. С другой стороны, служба индексирования достаточно умна, чтобы уступать ресурсы при обнаружении взаимодействия с пользователем.
Алексей Иванов
Прикоснись - думаю, все зависит от твоей перспективы - спасибо
STGdb