Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
WPF какой компонент выбрать для отображения
|
|||
|---|---|---|---|
|
#18+
Есть постоянно обновляемая таблица, состоящая из 50 строк и 5 полей. Обновляется 20 раз в секунду. Содержит только числовые данные. Должна быть возможна обработка кликов на ячейках, изменение цвета ячеек. Крайне важна скорость обновления, то есть не должно быть никаких задержек визуализации. Как лучше реализовать это в WPF? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2010, 17:23 |
|
||
|
WPF какой компонент выбрать для отображения
|
|||
|---|---|---|---|
|
#18+
Зачем так часто? Человек все равно не различит ни хрена за секунду 20 снимков. Или для чего то другого надо? Объясни для чего надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2010, 19:25 |
|
||
|
WPF какой компонент выбрать для отображения
|
|||
|---|---|---|---|
|
#18+
Спасибо. Тут ряд моментов. Вообще скорость обновления будет подстроена под периодичность обновления данных сервером, который отправляет изменения в эту таблицу. Но 20 раз в сек это максимум, поэтому и написал. Минимум - 4 раза в секунду. Второй момент - обработка таблицы автоматизирована. Я понимаю, что вывод с такой периодичностью для глаза человека бессмысленнен (а мой вопрос подразумевает вывод именно для глаза человека), и, учитывая, что на этот мой вопрос на форумах почти никто не отвечает, и наверное, это из-за требуемой скорости обновления, хотел бы уменьшить эту планку, или вообще убрать. То есть сказем так, нужен просто быстрый компонент WPF для вывода этого дела. Но 4 раза в секунду, это, можно сказать, минимум. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2010, 20:52 |
|
||
|
WPF какой компонент выбрать для отображения
|
|||
|---|---|---|---|
|
#18+
А, для чего надо: в этой таблице содержится важная оперативная информация, и оператор должен ее видеть, что называется, в реалтайме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2010, 20:54 |
|
||
|
WPF какой компонент выбрать для отображения
|
|||
|---|---|---|---|
|
#18+
DataGrid (только не пытайтесь "записать данные в ячейки") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2010, 23:12 |
|
||
|
WPF какой компонент выбрать для отображения
|
|||
|---|---|---|---|
|
#18+
ОсакаDataGrid (только не пытайтесь "записать данные в ячейки") +1 Попробуй его протестить. Естественно обновляя инфу в источнике данных у грида, как говорит Осака. Таймер в отдельном потоке с периодичностью 4 раза в сек ТелоТаймера() { Останов таймера; Подгрузка данных; Заливка в источник; Запуск таймера; } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2010, 06:29 |
|
||
|
WPF какой компонент выбрать для отображения
|
|||
|---|---|---|---|
|
#18+
testing22... и, учитывая, что на этот мой вопрос на форумах почти никто не отвечает, и наверное, это из-за требуемой скорости обновления ...Нет. Это из-за неверной постановки задачи. Попробуйте представить себе пользователя, весь день наблюдающего за таблицей, мигающей как новогодняя ёлка XXX раз в секунду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2010, 09:17 |
|
||
|
WPF какой компонент выбрать для отображения
|
|||
|---|---|---|---|
|
#18+
testing22Есть постоянно обновляемая таблица, состоящая из 50 строк и 5 полей. Обновляется 20 раз в секунду. Содержит только числовые данные. Должна быть возможна обработка кликов на ячейках, изменение цвета ячеек. Крайне важна скорость обновления, то есть не должно быть никаких задержек визуализации. Как лучше реализовать это в WPF? Лучше самому на канве все отрисовывать. Так будет и быстрее, и мерцания не будет. Данных немного, поэтому нарисовать свой графический контрол будет достаточно просто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2010, 23:38 |
|
||
|
WPF какой компонент выбрать для отображения
|
|||
|---|---|---|---|
|
#18+
То есть у меня варианты: 1. писать свой контрол 2. ListView 3. DataGrid 4. Canvas Мерцания хотелось бы избежать в первую очередь. Видел, как это выглядит на формах - совершенно неприемлемо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2010, 10:27 |
|
||
|
WPF какой компонент выбрать для отображения
|
|||
|---|---|---|---|
|
#18+
(вернее, 1 и 4 это одно и то же) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2010, 10:31 |
|
||
|
WPF какой компонент выбрать для отображения
|
|||
|---|---|---|---|
|
#18+
Условие: имеется канал данных, которые обновляются с периодом Т_пост; данные нужно отображать пользователю в числовом виде; не должно быть мерцания и т.д. Вариант решения установить период обновления текущего значения из канала данных для пользователя Т_обн так, чтобы Т_обн > Т_пост и Т_обн > 1 сек (или даже 2-3 сек.); поступающие из канала данных значения записывать в массив, если и не все, то последние round(Т_обн / Т_пост) значений (т.е. набор значений с предыдущего обновления; при обновлении выбирать максимальное (минимальное, среднее, медианное - в целом, наиболее критичное с точки зрения пользователя) для данного канала значение из последних round(Т_обн / Т_пост) поступивших и записанных в массиве, и отображать его пользователю. Пример: канал данных - сила тока в некоторой цепи, единица измерения - мА; данные поступают 5 раз в секунду, т.е. Т_пост = 0.2 сек. период обновления равен 2 сек., т.е. Т_обн = 2 сек. размер массива данных равен Т_обн / Т_пост = 2 / 0.2 = 10; при поступлении нового значения добавляем его в массив, удаляем самое первое значение, если размер массива превысил 10 ед. при обновлении пишем в ячейку максимальное значение из имеющихся в массиве. Такой подход позволит оператору нормально видеть значение контролируемого параметра, а программа сможет без особого ущерба для скорости обновления форматировать цвет ячейки в зависимости от значения. Получаемое при каждом обновлении максимальное за 2 сек. (в примере) значение можно писать в другой массив, используемый как источник данных для графика изменения значения контролируемого параметра во времени. Идея ведь в том, что оператор на основании выводимых значений должен предпринимать некие действия, а цифры, меняющиеся с частотой N раз/сек, меняются быстрее, чем человек способен реагировать. Оператору в итоге придется полусознательно выполнять в голове вычисления, аналогичные приведенным выше. А если еще и будет меняться цвет ячеек, то вся композиция станет похожа на дикий винегрет, который быстро-быстро перемешивается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2010, 13:27 |
|
||
|
WPF какой компонент выбрать для отображения
|
|||
|---|---|---|---|
|
#18+
JohnSparrow, спасибо. Очень много нареканий вызывает требуемая скорость обновления. По ссылке на видео справа та скорость, которую я хочу получить. Мерцания нет, скорость навскидку раз 10 в секунду: http://tfast.ru/?p=100#comments Данные для отображения я получаю в виде datatable. То есть каждый раз приходит новая таблица, которую мне нужно отобразить полностью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2010, 17:39 |
|
||
|
|

start [/forum/topic.php?fid=21&tid=1442710]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
2ms |
| others: | 8ms |
| total: | 142ms |

| 0 / 0 |
