Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.08.2018, 08:46   #1
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию Максимальная производительность 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
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

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

Цитата:
Сообщение от 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,841
По умолчанию

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

Код:
<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 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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