powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Большое потребление памяти при загрузке фото в DataTable
7 сообщений из 7, страница 1 из 1
Большое потребление памяти при загрузке фото в DataTable
    #39510329
Posohov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Загружаю 1800 фото, общий объем которых 150 Мб, а каждой не более 200 Кб, в DataTable.
Код: vbnet
1.
2.
3.
For Each RowНоменклатура As DataRow In dtНоменклатура.Rows
    RowНоменклатура("Image") = Image.FromFile(Application.StartupPath & "\Фото\" & intIDPostavshik & "\" & RowНоменклатура("Article") & ".jpg")
Next


После загрузки всех фото в таблицу объем памяти потребляемой приложением достигает почти 2 Гб!!, т.е. более чем в 10!!! раз превышающий суммарный объем всех фото.

В чем тут может быть дело и можно ли это как то исправить?
...
Рейтинг: 0 / 0
Большое потребление памяти при загрузке фото в DataTable
    #39510356
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PosohovВ чем тут может быть дело
jpeg при загрузке в Image распаковывается.

Posohovможно ли это как то исправить
загружать только по требованию, ненужное выгружать, в DataTable хранить только пути к файлам
если уж так хочется в памяти держать - загружать оригинальный jpg без распаковки, в Imagе - по необходимости превращать
...
Рейтинг: 0 / 0
Большое потребление памяти при загрузке фото в DataTable
    #39510420
Posohov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изопропил - спасибо за ликбез!
Изопропилзагружать оригинальный jpg без распаковки, в Imagе - по необходимости превращать
А это как делается?
...
Рейтинг: 0 / 0
Большое потребление памяти при загрузке фото в DataTable
    #39510444
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Posohov,

Нормально опишите, что вы хотите сделать.
Загрузить в базу 100500 картинок?
Отобразить на экране 100500 картинок?
Засрать память соседу?
...
Рейтинг: 0 / 0
Большое потребление памяти при загрузке фото в DataTable
    #39510446
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Posohov,

примерно так:

Код: c#
1.
2.
3.
            byte[] buf = File.ReadAllBytes(fileName);
....
            Image img = Image.FromStream(new MemoryStream(buf));
...
Рейтинг: 0 / 0
Большое потребление памяти при загрузке фото в DataTable
    #39510763
Posohov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изопропилпримерно так:
Спасибо.
Самое главное мне стало понятно отчего так возросло потребление памяти, а в остальном есть разные варианты.
Например, загружать в таблицу превью-фото, т.е. уменьшенные до размера ячейки DataTable фотки, а полный формат фото выводить при двойном клике на ячейку с превью-фото, загружая его с диска.
...
Рейтинг: 0 / 0
Большое потребление памяти при загрузке фото в DataTable
    #39511049
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Posohov,

и using/Dispose() не забывать!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Большое потребление памяти при загрузке фото в DataTable
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]