![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Ak47black |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
Как оптимизировать добавление и смену данных показываемых в TListView что-бы небыло мигания.
У меня следуший код
При малом количестве элементов то все мормально ,но если много ,то ерунда полная получаеться. Вродебы нужно использовать
Только как с ними работать я особо большой инфы ненаходил. |
||||
|
|||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
А поставить doublebuffered формы в true пробовал?
-------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 49 Всего: 76 |
Ak47black,
А
Пробовал? -------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
| Ak47black |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
Пробовал оба но не помогают. Добавлено через 1 минуту и 8 секунд У меня элементов может быть очень много например 50000 так что тут надо с
Както связать. |
||||||||
|
|||||||||
| Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 49 Всего: 76 |
Ak47black, Тебе данные надо хранить отдельно, а показывать только нужные.
-------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Может быть Virtual Tree View?!
|
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
Yanis, да я чтото там похожее вижу в Virtual List view примере только как тут переделать то.
Ну да, но список всеровно предеться заполнять, а видимы то несколько которые умешаються на видимой области. Мигают то понятно почему, изза того что пересовываються при каждом дополненом элементе. Это сообщение отредактировал(а) Ak47black - 19.4.2007, 15:17 |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
Это сообщение отредактировал(а) MetalFan - 19.4.2007, 15:56 -------------------- There are always someone smarter than you... |
|||
|
||||
| Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 49 Всего: 76 |
MetalFan, Это конечно поможет, но этож глобальный Lock, на лючном опыте знаю что его снимает тот-же winamp. Лутше уж юзать
примерно такую штуку:
Это сообщение отредактировал(а) Rennigth - 19.4.2007, 16:03 -------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
А что
Такие события некто неюзал? Или я чтото туплю? Это сообщение отредактировал(а) Ak47black - 19.4.2007, 16:13 |
|||
|
||||
| Beltar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 3 Всего: 7 |
50000 узлов слишком много. Windows Explorer тормомозит при 1000 файлов в папке. Заполнение ListView 4609 узлами (отображение содержимого ветки TreeView) у меня заняло 2-3 секунды на Celeron 950.
Я не юзал, но ставлю рубль, что это событие всплытия подсказки. Причем оно здесь?? -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 13 Всего: 158 |
гони рубель! [quote:F1] Use OnDataHint to update a range of items before the OnData event occurs. This method of updating items is more efficient than individually updating items in the OnData event handler. The range of items specified in the OnDataHint does not always match the range of items for which the OnData event handler is called; therefore, you must be prepared to update individual items in the OnData event handler as well. [/quote] [quote=Beltar, 20.4.2007, 07:40, post1105725]50000 узлов слишком много. Windows Explorer тормомозит при 1000 файлов в папке. Заполнение ListView 4609 узлами (отображение содержимого ветки TreeView) у меня заняло 2-3 секунды на Celeron 950.[/quote] вот именно поэтому и используются OnData*. в случае работы с OnData* 50000 - это "тьпу". а в Explorer'е тормоза связаны с другим моментом - он вытаскивает инфу(ищет связанную иконку, напр.) из каждого файла, потому и тормозит. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |