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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.02.2016, 20:49   #21
chugada
Пользователь
 
Регистрация: 31.01.2016
Сообщений: 17
По умолчанию

Цитата:
На мсдн советуют отвязывать данные от грида на момент обновления коллекции, а затем снова привязывать, после того, как коллекция полностью сформирована.
Пересоздание коллекции по сути так и работает.

Картинки просто как индикаторы, т.е. если в данных что то есть то по средствам дататриггера она или покажется или нет.

Мы так и действовали в начале, убрали все колонки где есть картинки или эта PathGeometry. Вообще убрали. Эффект есть, но не принципиальный. Все одно остается момент в пол/треть секунды "замараживания", что ни как не устраивает.

Хотелось бы что бы обновляло легко, как например в браузере, где это никак не вредит остальной работе.
chugada вне форума Ответить с цитированием
Старый 03.02.2016, 00:58   #22
chugada
Пользователь
 
Регистрация: 31.01.2016
Сообщений: 17
По умолчанию

Дальше эксперементы.
Захостили WinForms.DataGridView, видно как обновляется, но при этом ничего не замораживается. Единственно что плохо, так это его застилить как надо замучаемся.

Начитались про гриды в wpf, никто не хвалит их, а жалоб на медленный рендеринг пол интеренета.

Что делать не понятно.
chugada вне форума Ответить с цитированием
Старый 03.02.2016, 01:51   #23
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Цитата:
никто не хвалит их, а жалоб на медленный рендеринг пол интеренета.
все плохое что пишут про wpf-ные гиды - чистейшая правда

Цитата:
Единственно что плохо, так это его застилить как надо замучаемся
Это да) Да и вообще винформс хост в wpf приложении - гемморой

Цитата:
видно как обновляется
Дык может оттуда ветер и дует? Проблема в скорости получения данных, а не в гриде? Не должны вы успевать видеть как он обновляется в нормальных условиях

Код:
foreach (var item in sourсe)
                        {
                            this.Collection.Add(item);
                        }
у вас "source" какой тип имеет? Не IEnumerable<что-то-там> часом?
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 03.02.2016, 02:05   #24
chugada
Пользователь
 
Регистрация: 31.01.2016
Сообщений: 17
По умолчанию

Данные приходят в своем потоке, я там не зря показал диспатчер, чтобы видно было что потоки разные.
Цитата:
у вас "source" какой тип имеет? Не IEnumerable<что-то-там> часом?
тип у него MyClass[], получаем через JsonConvert.DeserializeObject

Сейчас попробовали оставить foreach в инвоке, но указали DispatcherPriority.Background, стало чуть шустрее, но все равно плохо.

Проблема как видится в создании кучи контролов и рендер их, но что и как с этим поделать.
chugada вне форума Ответить с цитированием
Старый 03.02.2016, 02:11   #25
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Цитата:
foreach в инвоке
(facepalm) ну нельзя там foreach использовать, вообще, неоднократно же вам говорили...

Цитата:
Проблема как видится в создании кучи контролов и рендер их, но что и как с этим поделать
ну тут уже полный код проекта нужен, профайлер и много-много вдумчивого анализа происходящего безобразия ) Хотя несколько постов назад вы писали http://programmersforum.ru/showpost....7&postcount=12, т.е. количество контролов роли не сыграло
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 03.02.2016, 03:13   #26
chugada
Пользователь
 
Регистрация: 31.01.2016
Сообщений: 17
По умолчанию

Почему не сыграло, играет, но все равно заметно что гуи лочится.

Вот люди тоже пишут http://stackoverflow.com/questions/6...slow-to-render что очень все плохо. И такого везде. Тоже выставили уже везде фиксированные размеры для колонок, грида, ничего не помогает.

при 100 строк работать вообще нет возможности. Пока одну пачку отрендерит уже следующую надо. А в это время прога ни на что не отвечает.
chugada вне форума Ответить с цитированием
Старый 03.02.2016, 03:27   #27
chugada
Пользователь
 
Регистрация: 31.01.2016
Сообщений: 17
По умолчанию

Цитата:
Дык может оттуда ветер и дует? Проблема в скорости получения данных, а не в гриде?
получение данных из сети быстрое, получение данных в гриде тоже не должно сильно сказываться, потому что все свойства простые, типа public string BlahBlah{get;set;}. Нашего кода под гридом нет. Только щаблоны, контролы, стили и тригера.
chugada вне форума Ответить с цитированием
Старый 03.02.2016, 19:44   #28
Akeloya
Форумчанин
 
Регистрация: 27.01.2014
Сообщений: 115
По умолчанию

Цитата:
Сообщение от chugada Посмотреть сообщение
получение данных из сети быстрое, получение данных в гриде тоже не должно сильно сказываться, потому что все свойства простые, типа public string BlahBlah{get;set;}. Нашего кода под гридом нет. Только щаблоны, контролы, стили и тригера.
Чисто из любопытства (и если вам не сложно), покажите, как вы источник данных для грида заполняете, наиболее производительный вариант.
Akeloya вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[C# + WPF] Отлов нажатий клавиш, хуки, горячие клавиши в проекте WPF Casper-SC WPF, UWP, WinRT, XAML 3 03.03.2017 15:00
КАк создать ГУИ интерфейс без среды? Алексей_2012 Общие вопросы C/C++ 5 12.01.2016 07:20
Обновление таблицы БД SqlLite - C# WPF Notan1310 WPF, UWP, WinRT, XAML 4 08.10.2015 14:34
WPF/ Обновление ItemsSource-а ShoGUN WPF, UWP, WinRT, XAML 0 02.06.2014 18:34