Речь идет о компоненте TTreeView в Lazarus v.2.0.12 и позднее ТОЛЬКО под управлением ОС Linux.
Ситуация: имеется копонент TTreeView, в котором программно создается около 1E+5 TTreeNode. Несколько тысяч корневых, остальные - дочерние, первого уровня. Естественно, создание занимает ощутимое время. Экспериментально было выяснено, что если скрыть компонент TTreeView на все время заполнения данными (visible=false), то процесс заметно (в несколько раз) ускоряется. Очевидно, это связано с отрисовкой компонента при добавлении нодов.
С версиями Lazarus 1.x.x все было приемлемо. Но в версиях 2.x.x визуальное скрытие компонента в ОС Linux перестало давать требуемый эффект. Решением был признан более кардинальный способ исключения обработки событий отрисовки. Сам компонент TTreeView отвязывается от родителя (Parent=nil), заполняется данными, затем снова привязывается к родителю.
Вопрос: может есть какой-то более гуманный способ быстро загрузить в TTreeView относительно большое количество данных?