powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / WPF Сокращение потребления оперативной памяти приложением
10 сообщений из 10, страница 1 из 1
WPF Сокращение потребления оперативной памяти приложением
    #39540807
Auratos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Создаю приложение - просмотрщик фотографий. Столкнулся с такой проблемой, что при загрузке изображений под каждый мегабайт изображения в оперативной памяти выделяется 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.
public class Photo : BaseModel
    {
        public Photo(string path, int n)
        {
            _path = path;
            _source = new Uri(path);
            _name = Path.GetFileNameWithoutExtension(path);
            _numb = n;
        }

        public override string ToString()
        {
            return _source.ToString();
        }

        private string _path;
        public string FullPath { get { return _path; } }

        private int _numb;
        public int PhotoNumber { get { return _numb; } set { _numb = value; } }

        private string _name;
        public string FileName { get { return _name; }}

        private Uri _source;
        public string Source { get { return _path; } }
    }



Подскажите, пожалуйста, можно ли как-то это оптимизировать и сократить количество потребляемой памяти? Т.к. по сути мне нужны только превью картинки, но при этом, чтобы я мог их масштабировать элементом Slider.
...
Рейтинг: 0 / 0
WPF Сокращение потребления оперативной памяти приложением
    #39540815
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Auratos,
В веб проектах добавляют колонку с превью 64х64 в базу.
...
Рейтинг: 0 / 0
WPF Сокращение потребления оперативной памяти приложением
    #39540817
Auratos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123Auratos,
В веб проектах добавляют колонку с превью 64х64 в базу.
Ну если картинка будет 64x64, то при масштабировании слайдером я получу просто набор огромных пикселей, а не изображение.
Я написал про превью на случай, если можно как-то иначе работать с изображениями. Т.е. мне нужен просто просмотрщик без возможности дальнейшей обработки изображений. Но при этом нужна возможность масштаба :)
...
Рейтинг: 0 / 0
WPF Сокращение потребления оперативной памяти приложением
    #39540820
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Auratos,
Слайдер это что?
На клик мышкой нельзя перегрузить?
...
Рейтинг: 0 / 0
WPF Сокращение потребления оперативной памяти приложением
    #39540859
Auratos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123Auratos,
Слайдер это что?
На клик мышкой нельзя перегрузить?
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<Slider Name="ZoomSlider" 
                    Margin="10,0,0,0" 
                    Orientation="Horizontal" 
                    Minimum="80" 
                    Maximum="320" 
                    Value="160" 
                    TickFrequency="80"
                    TickPlacement="BottomRight" 
                    SmallChange="5"
                    LargeChange="20" Foreground="Black" />
...
Рейтинг: 0 / 0
WPF Сокращение потребления оперативной памяти приложением
    #39540864
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Все 60 картинок одновременно выводятся на экран? Если нет - виртуализация
2) Сделать источник картинки таким образом, чтобы выдавал превьюшку или полную картинку в зависимости от текущего масштаба в слайдере.
...
Рейтинг: 0 / 0
WPF Сокращение потребления оперативной памяти приложением
    #39540897
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) загружаешь картинку, ресайзишь, оригинал выкидываешь, тумбнейл показываешь. профит.
2) используйте виртуализацию, картинку грузишь только по требованию, на время загрузки делается недетерминированный прогресс бар по типу баранка или аналог.
картинки медицинского характера? :)
...
Рейтинг: 0 / 0
WPF Сокращение потребления оперативной памяти приложением
    #39540959
Auratos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем большое спасибо за советы. Решил в сторону виртуализации двигаться :)
...
Рейтинг: 0 / 0
WPF Сокращение потребления оперативной памяти приложением
    #39540961
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По хорошему, должны быть гоьовые библиотеки с кешированием на диск.
В андроиде их есть штуки 4.
...
Рейтинг: 0 / 0
WPF Сокращение потребления оперативной памяти приложением
    #39540966
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AuratosВсем большое спасибо за советы. Решил в сторону виртуализации двигаться :)
И full hd экран не забудь.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / WPF Сокращение потребления оперативной памяти приложением
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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