|
WPF Сокращение потребления оперативной памяти приложением
|
|||
---|---|---|---|
#18+
Добрый день. Создаю приложение - просмотрщик фотографий. Столкнулся с такой проблемой, что при загрузке изображений под каждый мегабайт изображения в оперативной памяти выделяется 10 Мб. Т.е. у меня папка с 60 картинками (занимает 25 Мб на диске) при открытии в приложении занимает 250 МБ. Сам класс для хранения фотографий выглядит следующим образом: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.
Подскажите, пожалуйста, можно ли как-то это оптимизировать и сократить количество потребляемой памяти? Т.к. по сути мне нужны только превью картинки, но при этом, чтобы я мог их масштабировать элементом Slider. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2017, 07:48 |
|
WPF Сокращение потребления оперативной памяти приложением
|
|||
---|---|---|---|
#18+
Auratos, В веб проектах добавляют колонку с превью 64х64 в базу. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2017, 08:06 |
|
WPF Сокращение потребления оперативной памяти приложением
|
|||
---|---|---|---|
#18+
Petro123Auratos, В веб проектах добавляют колонку с превью 64х64 в базу. Ну если картинка будет 64x64, то при масштабировании слайдером я получу просто набор огромных пикселей, а не изображение. Я написал про превью на случай, если можно как-то иначе работать с изображениями. Т.е. мне нужен просто просмотрщик без возможности дальнейшей обработки изображений. Но при этом нужна возможность масштаба :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2017, 08:15 |
|
WPF Сокращение потребления оперативной памяти приложением
|
|||
---|---|---|---|
#18+
Auratos, Слайдер это что? На клик мышкой нельзя перегрузить? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2017, 08:32 |
|
WPF Сокращение потребления оперативной памяти приложением
|
|||
---|---|---|---|
#18+
Petro123Auratos, Слайдер это что? На клик мышкой нельзя перегрузить? Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2017, 09:42 |
|
WPF Сокращение потребления оперативной памяти приложением
|
|||
---|---|---|---|
#18+
1) Все 60 картинок одновременно выводятся на экран? Если нет - виртуализация 2) Сделать источник картинки таким образом, чтобы выдавал превьюшку или полную картинку в зависимости от текущего масштаба в слайдере. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2017, 09:47 |
|
WPF Сокращение потребления оперативной памяти приложением
|
|||
---|---|---|---|
#18+
1) загружаешь картинку, ресайзишь, оригинал выкидываешь, тумбнейл показываешь. профит. 2) используйте виртуализацию, картинку грузишь только по требованию, на время загрузки делается недетерминированный прогресс бар по типу баранка или аналог. картинки медицинского характера? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2017, 10:46 |
|
WPF Сокращение потребления оперативной памяти приложением
|
|||
---|---|---|---|
#18+
Всем большое спасибо за советы. Решил в сторону виртуализации двигаться :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2017, 12:08 |
|
WPF Сокращение потребления оперативной памяти приложением
|
|||
---|---|---|---|
#18+
По хорошему, должны быть гоьовые библиотеки с кешированием на диск. В андроиде их есть штуки 4. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2017, 12:11 |
|
|
start [/forum/topic.php?fid=21&msg=39540961&tid=1440480]: |
0ms |
get settings: |
15ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
327ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 229ms |
total: | 669ms |
0 / 0 |