Вверх ↑
Этот топик читают: Гость
Ответов: 204
Рейтинг: 2
#1: 2015-12-01 16:36:36 ЛС | профиль | цитата
Использую панель прокрутки ChildScrollBox для открытия массивов картинок (От 200 шт. и более) и ToolBarLayout для их компоновки. При открытии большого количества картинок начинаются жуткие лаги и фризы при прокрутке и изменении размера окна. Как можно эту проблему победить? Ведь есть куча программ где массово открываются картинки и там все нормально прокручивается. Да и в простом окне windows большие объемы картинок компонуются и прокручиваются без малейших проблем, а тут прямо беда!!!

пример:

code_36586.txt
карма: 1

0
файлы: 1code_36586.txt [4KB] [282]
Разработчик
Ответов: 26163
Рейтинг: 2127
#2: 2015-12-02 01:07:52 ЛС | профиль | цитата
ogrif писал(а):
Ведь есть куча программ где массово открываются картинки и там все нормально прокручивается. Да и в простом окне windows большие объемы картинок компонуются и прокручиваются без малейших проблем, а тут прямо беда!!!

Там не картинки прокручиваются, а миниатюры -- Thumbnails, а сами картинки в память не грузятся
карма: 22

0
Ответов: 204
Рейтинг: 2
#3: 2015-12-02 09:55:59 ЛС | профиль | цитата
nesco писал(а):

Там не картинки прокручиваются, а миниатюры -- Thumbnails, а сами картинки в память не грузятся


Это я понимаю что миниатюры. Наверно просто не так выразился. у меня в примере вес картинки (смайлик) = 2,8 kb. Чем не миниатюра? Картинка клонируется 500 раз на выходе весь массив весит 1,4 mb! Даже если дать + 100% на клонированные панели, на работу самого приложения еще 100% то все равно значения затрат памяти настолько малы что никак не могут оправдать лаги! А он лагает!!!! Особенно заметно лагает при изменении размера приложения. При этом вес самого приложения не превышает 5mb!
карма: 1

0
Разработчик
Ответов: 26163
Рейтинг: 2127
#4: 2015-12-02 10:44:03 ЛС | профиль | цитата
ogrif писал(а):
Даже если дать + 100% на клонированные панели

А вот не надо клонировать такое количество панелей, в этом и все тормоза. Панель -- это визуальный контрол, который жрет нехилый ресурс системы. Нужно использовать только один контрол -- PaintBox и координатный метод распределения картинок
карма: 22

0
Ответов: 100
Рейтинг: -1
#5: 2015-12-02 11:38:14 ЛС | профиль | цитата
У меня ище хуже. Мне надо построить список друзей(1 фото и 3 строки текста) а после 100 панели у окна пропадают борти, окно бегает по экрану и все визуальные элементы пропадают. А мне надо до 6000
карма: 0

0
Ответов: 8928
Рейтинг: 823
#6: 2015-12-02 12:26:53 ЛС | профиль | цитата
ogrif, надо располагать картинки не на самом ChildScrollBox, а на другом визуальном компоненте в ChildScrollBox, например, панели, тогда и считать бедному компьютеру ничего не придётся code_36596.txt
карма: 19

0
файлы: 1code_36596.txt [4.8KB] [326]
Ответов: 204
Рейтинг: 2
#7: 2015-12-02 18:29:13 ЛС | профиль | цитата
nesco писал(а):
А вот не надо клонировать такое количество панелей, в этом и все тормоза. Панель -- это визуальный контрол, который жрет нехилый ресурс системы. Нужно использовать только один контрол -- PaintBox и координатный метод распределения картинок


Угу. попробую!

Леонид писал(а):
ogrif, надо располагать картинки не на самом ChildScrollBox, а на другом визуальном компоненте в ChildScrollBox, например, панели, тогда и считать бедному компьютеру ничего не придётся code_36596.txt


мда. а ведь и вправду почти не тормозит!
Правда у меня вылетело две ошибки. Но это не повлияло на работу схемы. спасибо!



Буду экспериментировать с разными вариантами!
карма: 1

0
7
Сообщение
...
Прикрепленные файлы
(файлы не залиты)