Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > .NET фреймворки > WPF, UWP, WinRT, XAML
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 30.08.2018, 08:46   #1
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,556
По умолчанию Максимальная производительность ItemsControl

Здравствуйте.
Может кто знает каким образом можно повысить производительность отображения большого количества элементов?.

Есть ItemsControl с заданным шаблоном элементов. Нужно выводить более 50 000 записей. Но уже при размере массива около 1000 или 2000 отображение занимает больше 2 минут.
Пробовал всякие VirtualizingPanel и подобные фичи. Но это не дает вообще никакого преимущества.
Может кто знает как можно решить подобную задачу?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 30.08.2018, 09:24   #2
Alex11223
Заблокирован
 
Регистрация: 12.01.2011
Сообщений: 19,504
По умолчанию

Ну виртуализация по идее должна решить это если правильно работает.
Может быть просто что-то не так с ней было.
https://stackoverflow.com/a/22244851/964478
Alex11223 вне форума Ответить с цитированием
Старый 30.08.2018, 10:13   #3
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,556
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Ну виртуализация по идее должна решить это если правильно работает.
Может быть просто что-то не так с ней было.
https://stackoverflow.com/a/22244851/964478
Именно так и сделано.
В результате обработки я данные складываю в observablecollection.
Когда обработка закончена я делаю ItemsControl.ItemSource = myobservablecollection;
И вот в этот момент все останавливается и полчаса идет рендеринг я так понимаю. Может надо как то по другому заливать?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 03.09.2018, 08:08   #4
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,556
По умолчанию

Вот разобрался что мешает отображению.

Код:
<CheckBox Margin="5,0,0,0" IsChecked="{Binding Path=IsChecked, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
Фрагмент:
Код:
IsChecked="{Binding Path=IsChecked, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Даже для 1000 элементов вызывает висяк на несколько минут. Если его убрать то вроде как терпимое время.
Вопрос теперь как можно заменить эту конструкцию чтобы тот же самый функционал оставить?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MySql производительность dr.Chas SQL, базы данных 6 27.03.2014 15:07
MidletPascal производительность. O m n i s Gamedev - cоздание игр: Unity, OpenGL, DirectX 0 21.11.2013 15:37
Фриланс и производительность Abuhamed Свободное общение 6 09.04.2013 19:16
Производительность БД NARKOM Софт 1 02.06.2010 12:51
производительность БД в Дельфи gene2109 БД в Delphi 12 01.08.2008 21:45


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840