powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
74 сообщений из 74, показаны все 3 страниц
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38886624
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для обычных статических таблиц при небольшом количестве итемов - стандартное чуть-допиливание через API и все в шоколаде.

Но есть у меня одна задача (представление -таблица), когда итемов много (например 1000, 10000), при этом большое количество итемов могут быстро изменяться, например 50 изменений в секунду. И плюс нужна еще сортировка по столбцам - быстрая.

Исторически, будучи в VB6 я изначально использовал объектную модель.
Но были кое-какие глюки и некоторые запаздывания при большом количестве изменений.
Собственно тему затрагивал здесь:
Проблемы с ListView

Я тогда не поленился и нарисовал свой класс - полностью через API, начиная с CreateWindowEx.
И оно себя оправдало: глюки ушли, производительность резко повысилась из-за отсутствия лишних перерисовок и т.п., которыми страдает VB6 объектная модель ListView.

Единственное, с чем пришлось повозиться: сортировка, особенно сортировка дат.
В отличии от объектной VB6 модели пришлось делать самому (в объектной модели .Net делается тоже ручками примерно по тому же принципу). Но в итоге осилил и с неплохими скоростными показателями:
15067121

====
Мне не надо подсказок с кодами, не надо советов типа WPF или использовать что-то вместо Listview.

Мне хотелось бы знать ваше мнение, насколько хороша/безглючна именно объектная модель Listview в .Net с точки зрения выполнения скоростной задачи с большим количеством итемов / большой динамикой изменений этих итемов.

Единственный выбор который мне надо сделать: между .Net Listview и API-реализацией (для этой задачи). Последняя проверена в боевых условиях, первая по большому счету кот в мешке и пока не сделаешь не поймешь.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38886631
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77 Мне хотелось бы знать ваше мнение, насколько хороша/безглючна именно объектная модель Listview в .Net с точки зрения выполнения скоростной задачи с большим количеством итемов / большой динамикой изменений этих итемов.
смотри сорсы, мне сдаётся, что тебя не устроит :)

зря ты с дотнетом связался, c++ тебе нужен
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38886636
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилсмотри сорсы, мне сдаётся, что тебя не устроит :)
Почему так думаешь? Что-то конкретное углядел?
По идее если ничего не начудили, то объектная модель должна работать не хуже/не медленнее API-шной. В VB6 начудили.

Изопропилзря ты с дотнетом связался, c++ тебе нужен
Да не обязательно, у меня API-класс на VB6 готовый есть - под себя писал. Под .Net его недолго переписать - со всеми сортировками.
Я просто думаю, идти по этому пути, или все-таки на базе .Net-ListView эту задачу делать.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38886820
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77когда итемов много (например 1000, 10000), при этом большое количество итемов могут быстро изменяться, например 50 изменений в секунду. И плюс нужна еще сортировка по столбцам - быстрая.
....
пока не сделаешь не поймешь.

А кто у вас заказчик? как он успевает заметить 50 изменений в секунду? Вы, часом не для инопланетных агентов проэктик делаете?
Лист, грид, и другие визуальные компоненты - должны отображать для человека -который не различает событий с частотой выше 18 в секунду, и по заявлениям психологов не может одновременно держать в поле внимания более 9 обьектов...
Вот передомной список - как я могу узнать что в нем 10000 записей?
Как я могу одновременно увидеть эти 10000 строк? На обычном экране?
Уже давно для отображения ипользуется поиск с фильтром, а для прокрутки больших списков - постраничный просмотр.
Кстати, в WPF этот просмотр не надо писать самому - уже есть.
:-/
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38886923
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129А кто у вас заказчик? Автор и есть заказчик.

Абсолютно беспощаден к себе :)
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38886935
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129Вот передомной список - как я могу узнать что в нем 10000 записей? В статусбаре написать :)
D129Как я могу одновременно увидеть эти 10000 строк? На обычном экране?А зачем? Главное, чтобы они были в списке, и за ними не надо было лишний раз бегать на сервер. Если работа со списком динамичная, то это сильно экономит время.
У меня была задача, требующая таких списков - управление базой организаций в колл-центре.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38886943
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyВ статусбаре написать :)
....
У меня была задача, требующая таких списков - управление базой организаций в колл-центре.

Есть две задачи - хранение информации, и ее отображение.
Для отображения информацию надо подоготовить. И не давать визуальному элементу больше, чем человек (я надеюсь еще) может видеть и воспринимать, принимать решения, искать отличие итп...
Использование строки статуса - это как раз подготовка и отображение обобщения - и это правильно.
Но для чего же решать проблемы прорисовки тысяч обьектов, когда пользователь их все равно не увидит? Только потому, что компьютер сейчас это может?
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38886945
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129AntonariyВ статусбаре написать :)
....
У меня была задача, требующая таких списков - управление базой организаций в колл-центре.

Есть две задачи - хранение информации, и ее отображение.
Для отображения информацию надо подоготовить. И не давать визуальному элементу больше, чем человек (я надеюсь еще) может видеть и воспринимать, принимать решения, искать отличие итп...
Использование строки статуса - это как раз подготовка и отображение обобщения - и это правильно.
Но для чего же решать проблемы прорисовки тысяч обьектов, когда пользователь их все равно не увидит? Только потому, что компьютер сейчас это может?сферические рассуждения в вакууме.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38886950
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прорисовывается вообще-то только то, что помещается на экране. Строка проскроллилась за пределы - все, она больше не прорисовывается.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38886956
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а objectlistview не подходит?

http://objectlistview.sourceforge.net/cs/features.html
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38886957
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyПрорисовывается вообще-то только то, что помещается на экране. Строка проскроллилась за пределы - все, она больше не прорисовывается.

Это если запрограммировать так.
Винформовский грид больше 100 000 строк не тянет - это знание из разряда "сделаешь - поймешь".
Я делал прокрутку по страницам сам. А потом заменил на купленный контрол. В котором кто-то другой сделал постраничную прокрутку с оптимизацией.

Стандартный компонент (листвью итп) предназначен для показа ну 1000 компонентов (?). Если в него пихать больше - что не запрещено - он разве обязан продолжать так же хорошо работать?
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38886959
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyсферические рассуждения в вакууме.
Разве решить что программа делать не должна - это пустопорожние рассуждения?
А вот сколько кнопочек-текстбоксов-итп максимально возможно разместить на форме (винформ)?
Знаете?
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38886968
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129Antonariyсферические рассуждения в вакууме.
Разве решить что программа делать не должна - это пустопорожние рассуждения?
А вот сколько кнопочек-текстбоксов-итп максимально возможно разместить на форме (винформ)?
Знаете?

255?
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38886985
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WinnipuhD129пропущено...

Разве решить что программа делать не должна - это пустопорожние рассуждения?
А вот сколько кнопочек-текстбоксов-итп максимально возможно разместить на форме (винформ)?
Знаете?

255?

от 1500 до 2600 +- - определяется при установке Виндовс в зависимости от конфигурации системы.
Каждый контрол получает хендл - и им есть максимум.
Натолкнулся когда чинил аппликацию, где индусы читали базу, и динамически создавали табы и на каждом табе заполняли типа "карточку" - все данные обьекта.
На тестовой базе - где строк было 10-20 - все работало, и даже в начале на продакшен - тоже.
Пока не превысило где-то 300 строк - и ага.
Проходило как "баг" - некая мелкая неприятность, ведь до этого все отлично работало...
:-/

Тоже вот - решили не обсуждать сферического коника... а сразу "дело делать"...
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38886987
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129Это если запрограммировать так.Так уже запрограммировано в винде. В общем и целом отрисовка происходит по событию WM_PAINT, в это событие передаются координаты RECT, который надо перерисовать. Это событие посылает программе винда. Конкретно у листвью генерируется аналогичное событие для каждого элемента, который нужно перерисовать. Если элемент не видно или он не изменился с момента прошлой отрисовки, оно не генерируется. Тормоза идут от каких-то индусских расчетов по этому списку, не связанных с отрисовкой.

Я свой список отображал в гриде, который не тормозил ни на каком количестве записей. Самая большая выборка на моей памяти была около 18к записей.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38886991
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129Antonariyсферические рассуждения в вакууме.
Разве решить что программа делать не должна - это пустопорожние рассуждения?Естественно. Это же не ваша программа, вы не знаете, что и как она делать должна.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38886996
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129А вот сколько кнопочек-текстбоксов-итп максимально возможно разместить на форме (винформ)?
Знаете?Нет. Зачем это знать, а тем более размещать? Каждый текстбокс это отдельное окно с собственным дескриптором, которое жрет ресурсы. Если требуется столько текстбоксов, то лучше воткнуть грид с тексбоксами, который будет одним окном.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38887066
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
виртуализация не подходит?
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38887091
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy Это же не ваша программа, вы не знаете, что и как она делать должна.
Ок, убедили.
А кто знает? Топикастер?
Ну судя по его первому посту - он ожидал чего-то вроде "молодец мужик, написал сам цельный компонент, залез в дебри, разобрался что к чему, теперь можно не париться - самодельный компонент все сьест - миллион строк ему не помеха!"
"Да сразу было ясно что самоделка стабильнее фирменного компонента! Раз он так себя ведет с большими коллекциями..."

:-)

А ведь ситуация, когда стандартный компонент не делает то, что тебе нужно - это вопрос "а нужно ли это тебе?"....
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38887092
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyD129А вот сколько кнопочек-текстбоксов-итп максимально возможно разместить на форме (винформ)?
Знаете?Нет. Зачем это знать, а тем более размещать? Каждый текстбокс это отдельное окно с собственным дескриптором, которое жрет ресурсы. Если требуется столько текстбоксов, то лучше воткнуть грид с тексбоксами, который будет одним окном.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38887095
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot D129]AntonariyЕсли требуется столько текстбоксов, то лучше

почитал. Решил что уже ответил. А кнопку нажал не ту.

:-)
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38887122
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129Ок, убедили.
А кто знает? Топикастер?Да. Он прямо написал, что ему нужно.

D129
А ведь ситуация, когда стандартный компонент не делает то, что тебе нужно - это вопрос "а нужно ли это тебе?"....
Или это вопрос "а нужен ли стандартный компонент?".

Зависит от принципиальности требования.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38887131
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyа нужен ли стандартный компонент?
топикстартеру dotnet не нужен, вот в чём прикол
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38887150
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилAntonariyа нужен ли стандартный компонент?
топикстартеру dotnet не нужен подходит, вот в чём прикол
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38887238
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariydotnet не подходит, вот в чём прикол

Вот оно что... оказывается, таблички из базы данных надо на Фокале отображать...
:-))))
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38887630
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пошло-поехало. Просил же специально:

Дмитрий77...не надо советов ... использовать что-то вместо Listview.

именно объектная модель Listview в .Net с точки зрения выполнения скоростной задачи с большим количеством итемов / большой динамикой изменений этих итемов.
Единственный выбор который мне надо сделать: между .Net Listview и API-реализацией ( для этой задачи )

Быстрее видимо сделать, а потом уже смотреть на живых тестах. Если не прокатит, воткну API-шные, тем более есть считай готовый класс под эти нужды.

Меня .Net и Listview вполне устраивает.
А в другой форме у меня 15 Listview на разных вкладках - по 2-10 итемов в каждом. И че мне их на C++/API рисовать?
В .Net макет удобно делать: всякие там Dock=Fill, Padding очень помогают, в том же VB6 сплошные ресайзы надо писать.

>А вот сколько кнопочек-текстбоксов-итп максимально возможно разместить на форме (винформ)?
В VB6 контролов на форме может быть 255 максимум. Но можно использовать массивы (неудобно жутко).
В .Net на сколько понимаю такого ограничения точно нет, м.б. есть какое-то большое но мне думаю хватит.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38887733
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77В .Net на сколько понимаю такого ограничения точно нет,
WinAPI ограничивает
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38887735
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил,

обложался таки :)
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38888171
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77Пошло-поехало. Просил же специально
я ваш самописный контрол не использовал, а листвью - когда использовал, не насиловал десятками тысяч элементов (а грид да - и знаю что будет если).
Что я мог бы вам другое посоветовать - если нести хоть какую-то ответственность за свои слова?
Ваше право делать на компьютере что вам заблагорассудится я не оспаривал.
Статьи за жестокое обращение с вычислительными ресурсами еще нигде не ввели.
:-)
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38888526
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проще сделать ListView в WPF и внедрить в WF, чем пытаться запилить свой ListView в WF. имхо конечно :)
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38888531
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesпроще сделать ListView в WPF и внедрить в WF, чем пытаться запилить свой ListView в WF. имхо конечно :)
гланды всегда через задний проход удалять нужно?
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38888689
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129ваш самописный контрол не использовал, а листвью - когда использовал, не насиловал десятками тысяч элементов
...
жестокое обращение с вычислительными ресурсами:-)

Ни о каком самописном контроле речь не идет.

Речь идет исключительно об этом:
List View (Windows) - MSDN - Microsoft

И об этом:
ListView - класс (System.Windows.Forms) - MSDN - Microsoft

Причем второе есть не более чем Net-обертка над первым.

Если использовать первое, то никаких лишних "вычислений" я точно не делаю.

Предпочтительнее использовать второе , т.к. это удобней, более понятно и менее трудозатратно.

Но объектная обертка, как было указано может страдать :
1) дополнительными индусскими вычислениями
2) дополнительными индусскими идеями, которые не всегда плохи, но иногда приводят к глюкам. Пример с тулбаром я недавно приводил.
Под "нагрузкой" оно может иметь очень негативные последствия. И в этом случае оправдан API-вариант .

Примером классической программы от Microsoft где именно Listview используется с подобной динамикой/объемами является "Windows Fax and Scan" (Консоль факсов в XP). Скриптом можно добавить хоть 20000 заданий "сразу". На серверных OS можно использовать хоть 100 модемов (=100 одновременных вызовов). При отправке информация в "активных" строчках динамически меняется.
У меня реализовано примерно тоже самое. Никакие самопало-гриды здесь не катят.

Другой пример -Outlook Express и его производные, но последний пример менее удачен, так как нет описываемой динамики.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38888708
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77 20000 заданий "сразу".

нет описываемой динамики.

Идея состоит в том, чтобы не отображать динамику того, на что никто не смотрит.
Значит, список из 20000 строк должен быть разбит на логические ветки, группы, подгруппы - и вот когда пользователь конкретный процесс захочет посмотреть - его и показывать с "динамикой".
И даже тут - обновлять строку на экране 50 раз в секунду - это мягко говоря, неправильно. Никто из нас, людей, этих изменений не в состоянии заметить. Так и незачем "метать бисер перед свиньями". Не будете загружать компьютер бессмысленной работой - он будет вам благодарен, и сосредоточится на основной задаче...
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38888734
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129 обновлять строку на экране 50 раз в секунду - это мягко говоря, неправильно.
Об обновлении одной строки 50 раз в секунду речь не идет.
У меня там таймаут обновления где-то секунда.
Но в предельных нагрузочных случаях за секунду может одновременно обновиться 50 строк (разных), или например добавиться 50 строк.

У меня эта модель прекрасно работает на
VB6+Listview_API
но плохо работала на
VB6+Listview(объектная модель VB6)

Сейчас я хочу сделать ту же модель на
.Net + Listview(объектная модель .Net)

Естественно с учетом опыта(объектная модель VB6) у меня некоторые опасения.

Чего рассуждать, в процессе изготовления пока. Только динамику фиг протестируешь пока приложение целиком готово не будет.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38888752
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77Но в предельных нагрузочных случаях за секунду может одновременно обновиться 50 строк (разных), или например добавиться 50 строк.

Ну и какую проблему вы опасаетесь получить?
Если пользователь будет смотреть именно на эти строки, и они изменятся, то очевидно что 50 строк через секунду спокойно отобрязят измененные данные.
Вопрос вот в том, как вы делаете это обновление - через перезагрузку списка?
Стер старые - нарисовал новые?
Тут возможны варианты.
И опять скажу - WPF с байндингом - как раз для этого...
:-)
Как там было в Римской империи? "Карфаген должен быть разрушен".
:-)
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38888768
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129И опять скажу - WPF с байндингом - как раз для этого...зачем корове седло?
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38888772
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77Чего рассуждать, в процессе изготовления пока. Только динамику фиг протестируешь пока приложение целиком готово не будет.
не делай преждевременной оптимизации - будет плохо - заменишь реализацию

Интерфейс к списку сделай сейчас так, чтоб легко замену реализации произвести
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38888773
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129Вопрос вот в том, как вы делаете это обновление - через перезагрузку списка?
Нет конечно.
Через правку item/subitems.
На языке API:
LVM_INSERTITEM
LVM_SETITEM

D129Ну и какую проблему вы опасаетесь получить?

15016495
В VB6(объектная модель) была например следующая проблема:

авторВыполняем любую из команд:

Код: vbnet
1.
2.
3.
  Set LItem = ListView1.ListItems.Add
  LItem.SubItems(1) = "Subitemtext" 'с любым итемом()
  ListView1.ListItems(1).Text = "text1" 'с любым итемом()


Проблема в том, что когда любая из них выполняется (не для выделенного, а для любого итема), то ListView делает для выделенной записи (для той кот. Selected) прокрутку в видимую область (EnsureVisible)

Т.е. когда много записей, они постоянно добавляются и изменяются, невозможно даже сделать прокрутку (все время скручивает на выделенную запись).

Вылечилось только полным отказом от объектной модели.

D129И опять скажу - WPF
В WPF не лез. Но насколько понимаю ListView в WPF -это вообще другой контрол. Не по теме.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38888785
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилне делай преждевременной оптимизации - будет плохо - заменишь реализацию
Интерфейс к списку сделай сейчас так, чтоб легко замену реализации произвести
Примерно по этому пути я и иду. В VB6 именно реализация и была заменена. У меня перед глазами 2 VB6 варианта, с которых и слизываю. Есть надежда/предположение что .Net-объектная модель таки заведется.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38888816
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77авторВыполняем любую из команд:

Код: vbnet
1.
2.
3.
  Set LItem = ListView1.ListItems.Add
  LItem.SubItems(1) = "Subitemtext" 'с любым итемом()
  ListView1.ListItems(1).Text = "text1" 'с любым итемом()


Проблема в том, что когда любая из них выполняется (не для выделенного, а для любого итема), то ListView делает для выделенной записи (для той кот. Selected) прокрутку в видимую область (EnsureVisible)

Т.е. когда много записей, они постоянно добавляются и изменяются, невозможно даже сделать прокрутку (все время скручивает на выделенную запись).

Вылечилось только полным отказом от объектной модели.А гасить прокрутку в сабклассинге не пробовал? Обычно это универсальное средство от нежелательных телодвижений.

Отлавливаешь LVM_INSERTITEM/LVM_SETITEM, которые отправляет объектная модель, после них ожидаешь событие, инициализирующее прокрутку, сливаешь его.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38888848
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Antonariy]Дмитрий77А гасить прокрутку в сабклассинге не пробовал? Обычно это универсальное средство от нежелательных телодвижений.
Отлавливаешь ...
Вот скажи, мне сейчас это зачем, VB6 лечить?
Если ты глянешь в ту тему, то увидишь что подобные заплатки делать пытались, под твоим кстати чутким руководством.
После неуспешных попыток было плюнуто и сделано с нуля на API, не без трудозатрат, но успешно (сразу было ясно что успешно, но теперь еще и проверено временем - по крайне мере я не вижу больше писем от упертых юзеров типа: я тут попытался добавить 30000 job-ов и у меня все нафиг зависло. Раньше иногда получал подобные баг-репорты).

А в .Net-модели этого бага скорее всего нет (его и в 6-х контролах (которые не пригодны сам знаешь почему) на VB6 нет).
Но фиг знает что в .Net-Listview есть.
Ты вроде в этом понимаешь, с тобой тогда обсуждали "скоростные характеристики", типа API-Listview "быстрее" и т.п.
Что нибудь про .Net-листвью плохое/хорошее сказать можешь? Ну, с каким-то модельными свойствами типа "ShowItemTooltips" лучше лишний раз не играться, это понятно.

А по динамике/скорости что касается добавления/правки item/subitems и "лишних индусских расчетов"?

По сортировке по столбцам, когда много записей? Тоже самое что в API? -там пришлось попотеть особенно с датами если помнишь (в VB6 в объектной модели кстати быстрая сортировка и не требует крушений мозга).
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38888939
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77Вот скажи, мне сейчас это зачем, VB6 лечить?Я имел ввиду дотнетовский, насколько я помню твои изыскания, он оказался тоже на базе comctl.
Или нет?

Дмитрий77Если ты глянешь в ту тему, то увидишь что подобные заплатки делать пытались, под твоим кстати чутким руководством.Давно это было, забыл уже :)

Дмитрий77Что нибудь про .Net-листвью плохое/хорошее сказать можешь? Неа, в дотнете под десктоп я мало пишу, пока что все требования покрываются стандартными возможностями. Из хорошего - GridLines понравились :)
А сложные списки с активными элементами вывожу через html в веббраузер.

А в VB6 листвью я ковырял, решая почти твою же задачу - в программу-спамфильтр шустро сыпалась почта, причем новые айтемы нужно было добавлять в начало, и чтобы ничего не мигало.
Чтобы не мигало, какие-то события как раз пришлось подавить.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38888940
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77,

делай свою, только не на API винды, а с использованием библиотек net, а то с переносимостью куча проблем будет
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38888948
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)Дмитрий77,

делай свою, только не на API винды, а с использованием библиотек net, а то с переносимостью куча проблем будетВообще-то библиотеки net сами используют api винды, являясь по факту объектной надстройка над ними для удобства использования лохами и школьниками снижения порога входимости, так что с переносимостью проблем как раз меньше.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38888960
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)делай свою, только не на API винды, а с использованием библиотек net, а то с переносимостью куча проблем будет
"стандартные" контролы можно подумать святым духом питаются
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38888961
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот, кой какие результаты предварительные.
3 Listview -в общей сложности 500 записей (чего есть сейчас в тестовой БД).
Делаю статическую загрузку (циклом)

API в VB6 загружает за 70мс (чисто добавление в Listview)
Объектный в VB6 делает тоже самое за 200мс
Делаю тот же тест на .Net -650мс -до хрена

Был код типа:
Код: vbnet
1.
2.
3.
4.
5.
6.
    'добавляем запись в таблицу
    Dim LItem As ListViewItem = Me.ListView1.Items.Add(New ListViewItem)
    For i As Integer = 1 To 19 : LItem.SubItems.Add(New ListViewItem.ListViewSubItem) : Next 'добавим пустые SubItems
    LItem.SubItems(1).Text = str_1
    LItem.SubItems(2).Text = str_2
    ...


Переделал так
Код: vbnet
1.
2.
3.
4.
5.
6.
    Dim LItem As New ListViewItem
    For i As Integer = 1 To 19 : LItem.SubItems.Add(New ListViewItem.ListViewSubItem) : Next 'добавим пустые SubItems
    LItem.SubItems(1).Text = str_1
    LItem.SubItems(2).Text = str_2
    ...
    Me.ListView1.Items.Add(LItem)


И стало те же 70-80мс.
Думаю, если слегка оптимизировать, результат будет нормальный. Надо делать, а не рассуждать.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38888969
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77 И стало те же 70-80мс.Логично, в первом случае ты теребишь реальный листвью, который на каждый тычок отзывается каскадом событий, а во втором - абстракцию в памяти, ни к чему не привязанную.

Если количество субайтемов известно и фиксировано, попробуй SubItems.Add({"subitem1", "subitem2", ...}), по идее будет еще быстрее.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38889075
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилkealon(Ruslan)делай свою, только не на API винды, а с использованием библиотек net, а то с переносимостью куча проблем будет
"стандартные" контролы можно подумать святым духом питаются
нет конечно, но они будут поддерживаться на уровне платформы, а WinAPI в другой операционке скорее всего не будет

Дмитрий77,

в компоненте VirtualTreeView используется такой ход:
указывается, что элементов столько то, а загрузка данных в них делается при необходимости
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38889085
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понаписали-то.

ListView.VirtualMode Property
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38889095
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)а WinAPI в другой операционке скорее всего не будет
спасибо, посмеялся
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38889301
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилkealon(Ruslan)а WinAPI в другой операционке скорее всего не будет
спасибо, посмеялся

хорошо смеется тот, кто реально не обнаружит его в другой операционке(!)
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38889307
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Winnipuh,

другую операционку сначала найди , где это может быть востребовано
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38889360
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О чем спор, не пойму. WinForms давно заброшен. Так что шанс увидеть WinForms-овский ListView на других платформах стремится к нулю. Учитывая завязку WPF на DirectX, я тоже не вижу у нее шансов на другой платформе. Разве что когда-нибудь на OpenGL переделают, но я о таких планах не слышал.

Либо Gtk для кроссплатформенности использовать, либо Html + Js. Вполне в духе нестандартных решений от Дмитрия. Но по скорости, боюсь, ни одна из этих платформ не потянет.

Вот последовал бы совету Изопропила про С++, можно было бы Qt юзать. И быстро, и кроссплатформенно, и без извратов с WinAPI :-) Хотя нет, здесь уже WinAPI - не изврат, а уважаемая технология.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38889455
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне кайф дает вечная озабоченность о какой то кроссплатформенности :) чего бл* кроссплатформенность? неужто листьвю?
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38889467
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилWinnipuh,

другую операционку сначала найди , где это может быть востребовано
чё искать то, Mono под юниксом - некоторые пользуются
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38889476
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Либо Gtk для кроссплатформенности использовать, либо Html + Js. Вполне в духе нестандартных решений от Дмитрия. Но по скорости, боюсь, ни одна из этих платформ не потянет.HTML+JS по скорости ничем не хуже WPF на обычных гуйных задачах.

зы: ListView, содержащий 10 килозаписей, никому не нужен.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38889481
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosмне кайф дает вечная озабоченность о какой то кроссплатформенности :) чего бл* кроссплатформенность? неужто листьвю?
+1
Тоже всегда думаю - дурь какая... если ты делаешь полезную аппликацию - то могут ради нее и винду установить...
В любой конторе сейчас создать виртуальную машину - не проблема...
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38889519
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кзы: ListView, содержащий 10 килозаписей, никому не нужен.Тебя кто-то выбрал за всех отвечать?
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38889594
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyАлексей Кзы: ListView, содержащий 10 килозаписей, никому не нужен.Тебя кто-то выбрал за всех отвечать?
А что, прокручивать список из 2 тысяч файлов никогда не приходилось? Чтобы найти различие ... да хотябы в окончании названия файла... каких нибудь 5-6 особых букв...

на второй сотне уже! думаешь - надо поиск запустить, пусть компьютер думает, у него гигагерцев много....
:-)
Разве нет?
Интерфейс взаимодействия с пользователем - ГУИ который, он зачем вообще?
Чтобы пользователь нашел, и решение принял. Стирать, копировать, остановить, или запустить....
А не чтобы крутил-крутил, и пропустил...
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38889629
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129на второй сотне уже! думаешь - надо поиск запустить, пусть компьютер думает, у него гигагерцев много....
:-)
Разве нет?Да. Но одно дело поиск в памяти, занимаемой листвью, и совсем другое ходить за поиском на сервер.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38889631
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyДа. Но одно дело поиск в памяти, занимаемой листвью, и совсем другое ходить за поиском на сервер.
Кто мешает скачать в память нужные данные, а отображать кусочек из них? Ну и скажем прямо, ничего страшного в том, чтобы лазить на сервер за данными, нет. В общем, для того он и нужен.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38889639
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А впрочем плохой пример, айтемы нельзя прятать.

Другое дело, когда нужно выбирать группу айтемов по какому-либо хорошо заметному признаку, когда нужно не искать иголку в стоге сена, вытащить из него копну. А потом сразу еще одну - по другому признаку. И еще. Каждый раз колупать фильтры и отправлять их на сервер не продуктивно выходит.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38889645
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Ну и скажем прямо, ничего страшного в том, чтобы лазить на сервер за данными, нет.Не скажем. В некоторых задачах это медленно даже если сервер на том же компе.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38889654
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyКаждый раз колупать фильтры и отправлять их на сервер не продуктивно выходит.
Фильтровать можно и на клиенте.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38889659
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyArm79Ну и скажем прямо, ничего страшного в том, чтобы лазить на сервер за данными, нет.Не скажем. В некоторых задачах это медленно даже если сервер на том же компе.
Если сложный запрос с кучей джойнов или агрегирующий, - возможно. Если речь идет об обычном селекте - самое то передавать условия выборки на сервер.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38889682
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)ИзопропилWinnipuh,

другую операционку сначала найди , где это может быть востребовано
чё искать то, Mono под юниксом - некоторые пользуются
и GUI пишут, ага.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38889687
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропили GUI пишут, ага.
Пишут пишут :-) Правда редко. Но пишут.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38889690
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129AntonariyКаждый раз колупать фильтры и отправлять их на сервер не продуктивно выходит.
Фильтровать можно и на клиенте.Какая разница, где их колупать? Ручная работа одинаковая.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38889713
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyD129пропущено...

Фильтровать можно и на клиенте.Какая разница, где их колупать? Ручная работа одинаковая.
Ну так и скажите - не хочу писать никаких фильтров, пусть грид и лист за меня работают, да и пользователю будет нескучно - тренировка внимания и добросовестности еще никому не мешала в жизни!
:)
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38889795
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129Antonariyпропущено...
Какая разница, где их колупать? Ручная работа одинаковая.
Ну так и скажите - не хочу писать никаких фильтров,А я так и говорю.

D129 да и пользователю будет нескучно - тренировка внимания и добросовестности еще никому не мешала в жизни!
:)Много ли нужно внимания, чтобы отличить одну сотню записей от другой?

Конкретный пример — раскидывание организаций по операторам. Вытаскиваем кучу записей, сортируем по форме собственности (например), Вася обзванивает ГУПы, Петя ЗАО, Гена ООО. Так сложно найти, где заканчивается ГУП и начинается ЗАО? Если не слепой как крот, то не сложно абсолютно. Нажали на первую запись с ГУП, промотали до ЗАО, с шифтом щелкнули на последнюю ЗАО-запись (это выделение, есличо), назначить Васе. Всё. Повторить с ЗАО.

Нафига за каждой формой собственности по отдельности в базу ходить?
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38889821
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyНафига за каждой формой собственности по отдельности в базу ходить?
А если надо будет всех, кто на улице Космонавтов?
:-)
и опять же - грид (обычный) держит до 20 тысяч записей.
Для большинства задач - достаточно.
А вот меня очень попросили сделать фильтр для списка из 1700 записей - так как там записи похожи друг на друга, и глазами выискивать границу - тяжело.

В листвью - ситуация хуже.
Он как бы не для точного поиска задумывался - а для беглого просмотра. Если в нем будет 10 000 иконок - это любой глаз устанет их разглядывать - и нужен будет поиск по фильтру.
А вы не хотите его писать.
:-(
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38889873
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129AntonariyНафига за каждой формой собственности по отдельности в базу ходить?
А если надо будет всех, кто на улице Космонавтов?
:-)
и опять же - грид (обычный) держит до 20 тысяч записей.
Для большинства задач - достаточно.
А вот меня очень попросили сделать фильтр для списка из 1700 записей - так как там записи похожи друг на друга, и глазами выискивать границу - тяжело.
На случай космонавтов есть кнопка простого фильтра по списку - на скриншоте вторая слева. А для запросов к базе есть целый мастер, он для первичной выборки, и он может фильтровать как угодно. Там же можно указать и тех же космонавтов, если только космонавты из базы и нужны. Как правило используются два критерия - регион + вид деятельности, они задаются мастером, а дальнейшая детализация происходит в списке.

В общем, я предусмотрел все сценарии.

Но самая распространенная с некоторых пор операция - разбить список поровну между несколькими юзерами. Фильтр тут не поможет. Правильней было бы сделать автоматическую операцию "разбить поровну" и вообще не ползать по списку, но программа ископаемая, и дорабатывать ее нет никакого желания.

D129В листвью - ситуация хуже.
Он как бы не для точного поиска задумывался - а для беглого просмотра. Если в нем будет 10 000 иконок - это любой глаз устанет их разглядывать - и нужен будет поиск по фильтру.
А вы не хотите его писать.
:-(Листвью на 10к записей в виде иконок это безусловно бред, на таких объемах я подразумеваю лишь его report-представление.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38933804
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77 ... насколько хороша/безглючна именно объектная модель Listview в .Net с точки зрения выполнения скоростной задачи с большим количеством итемов / большой динамикой изменений этих итемов.

Единственный выбор который мне надо сделать: между .Net Listview и API-реализацией (для этой задачи).
Отвлекался много.
Доделал наконец, протестировал в контексте приложения под нагрузкой.
Сойдет. Фактически тоже самое что через API. Глюки типа тех что есть в объектной модели VB6 отсутствуют.
...
Рейтинг: 0 / 0
Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
    #38934460
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyАлексей Кзы: ListView, содержащий 10 килозаписей, никому не нужен.Тебя кто-то выбрал за всех отвечать?Но и никто не запретил.
...
Рейтинг: 0 / 0
74 сообщений из 74, показаны все 3 страниц
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Насколько объектный Listview в .Net устойчив/безглючен при нагрузках/объемах данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]