Цитата: YuraZ ➤ Я бы предложил использовать TVirtualTreeView от Mike Lischke (. Попробуй просто добавить 10000 записей в стандартный TreeView и ты поймешь почему у тебя тормоза - это сам TreeView тормозит.
Хотелось бы еще раз заострить внимание на следующем (возможно дело именно в этом)
Если попробовать поступить так:
Код:
TreeView.Items.Add(nil, [Наименование узла])
будет добавлен очередной элемент, после чего автоматически будет выполнена перерисовка.
Чтобы запретить компоненту перерисовываться вплоть до добавления последнего элемента используются упомянутые мною методы BeginUpdate() (До того, как элементы начнут добавляться) и EndUpdate() (После того, как процедура будет завершена)
Таким образом, "тормоза" должны будут стать менее очевидными, ведь мы избавляем компонент от необходимости перерисовки такое количество раз, сколько элементов к нему добавляем.
Конечно же, самую важную роль играет еще и сам алгоритм, по которому будут извлечены/добавлены элементы...