Re[2]: Загрузка изображения
От: vit_as Россия  
Дата: 31.05.13 07:05
Оценка: -1
Здравствуйте, SanyaVB, Вы писали:

SVB>Здравствуйте, SanyaVB, Вы писали:


SVB>>Подскажите пожалуйста, как используя WPF можно загрузить и отобразить PNG файл высокого разрешения (21600x21600). размер его 120 МБ. При открытии IrfanView в памяти разворачивается в 1335МБ. У меня свободной оперативной памяти более 12 гектаров.

SVB>>Как я выше писал, что редактором этот файл открывается, а вот BitmapImage оказался умнее всех и говорит: "Недостаточно памяти для продолжения выполнения программы."

SVB>>Буду благодарен за помощь.


SVB>Нашел причину. Нужно было собирать под платформу x64. Странно... для x86 доступно 3.5ГБ, а ему не хватило этого на распаковку...


Для приложений x86 доступно 2 Гб адресного пространства...
На практике .net приложение начинает затыкаться при загруженности 1.3 — 1.6 Гб, потому-что затруднительно становится выделить непрерывный кусок памяти в Large Object Heap из-за ее фрагментированности.

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