Я получаю доступ к метаданным тысяч файлов изображений. Каждый раз, когда я обращаюсь к файлу, MsMpEng.exe вмешивается, чтобы извлечь файл, прежде чем предоставить моему приложению доступ к нему. Это правильно и хорошо, и я не хочу нарушать работу MsMpEng.exe или изменять его настройки.
Например, трассировка WPF/WPA показывает, что из примерно 30 секунд, необходимых для прочитать метаданные ~1300 jpeg, из них ~23 секунды тратятся на ожидание MsMpEng.exe.

Существуют ли способы доступа к файлам, чтобы минимизировать влияние MsMpEng.exe ?
===
Изменить, добавив дополнительную информацию
- Это приложение для Windows, которое будет работать на машинах конечных пользователей, поэтому изменение настройки MsMpEng.exe мне недоступны. (Кроме того, вы бы установили приложение, которое просило бы вас изменить настройки антивируса?)
- Это приложение считывает фотографии пользователя. То есть изображения не являются частью приложения, поэтому упаковать их в архив не получится. (Хотя интересно... Я об этом не знал.)
- SuperUser задавал вопросы об ОС или о том, как использовать антивирус Windows. Речь идет о том, как программно минимизировать влияние MsMpEng.exe на работающее приложение. Например, возможно, есть способ предупредить ОС о том, что вы собираетесь запросить доступ к 1000 файлам, и она может очистить эти файлы в пакетном режиме, а не MsMpEng.exe, вмешиваясь между открытием каждого отдельного файла. request.
- Четыре потока читают файлы одновременно. Это четыре, потому что ввод-вывод становится узким местом, и это также оставляет некоторые системные ресурсы для всего, что пользователь выполняет на своем компьютере.
using (var stream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read))
{
var decoder = ImageUtilities.BitmapDecoderCreateLossless(stream);
var frame = decoder.Frames[0];
frame.Freeze();
var frameMetadata = (BitmapMetadata)frame.Metadata;
// Read metadata from frameMetadata
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... smpeng-exe
Мобильная версия