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

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

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


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

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

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

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

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

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

Код:
<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 16:07
MidletPascal производительность. O m n i s Gamedev - cоздание игр: Unity, OpenGL, DirectX 0 21.11.2013 16:37
Фриланс и производительность Abuhamed Свободное общение 6 09.04.2013 20:16
Производительность БД NARKOM Софт 1 02.06.2010 13:51
производительность БД в Дельфи gene2109 БД в Delphi 12 01.08.2008 22:45