Как правильно управлять предпросмотрами картинок - PullRequest
1 голос
/ 07 февраля 2012

Я занимаюсь разработкой программного обеспечения на C #, которое может показывать превью файлов.В основном, слева есть дерево, которое показывает записи файловой системы диска, и панель справа, которая будет отображать предварительный просмотр файлов, выбранных в дереве, в панели с изменяемым размером, которая содержит закрепленную PictureBox.Изначально я показываю предварительный просмотр только для файлов изображений.

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

  1. Нужно ли загружать изображение в поток?Всегда, или только если изображение очень большое?
  2. Было бы правильным, если бы я загружал изображение непосредственно в Picturebox, или я должен рассчитать изображение меньшего размера (например, миниатюру или что-то подобное),сохранить его на диск, а затем показать его?
  3. Кто-то знает, где я могу скачать файлы больших изображений, чтобы проверить мой предварительный просмотр с очень большими файлами.

1 Ответ

0 голосов
/ 14 мая 2012
  1. Imo всегда проделывает такую ​​работу, нет смысла пытаться решить , что большое; для изображений, о которых идет речь, я бы подумал, что большинству будет достаточно, чтобы при неправильных условиях (компьютер тратит ресурсы на другие процессы, а не только на ваши) это могло вызвать ощутимую паузу в потоке пользовательского интерфейса.

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

  3. По моему мнению, не может быть лучшего места, чем PolyCount , специально смотрите на этих форумах: http://www.polycount.com/forum/forumdisplay.php?f=42 & http://www.polycount.com/forum/forumdisplay.php?f=60

...