Вверх ↑
Этот топик читают: Гость
Администрация
Ответов: 15295
Рейтинг: 1519
#151: 2009-11-10 18:30:20 ЛС | профиль | цитата
nesco, не проверять надо было, а разбираться и запоменать, т.к. это пример в ответ на
nesco писал(а):
а можно более конкретные предложения по усовершенствованию


методы загрузки текста в memo, richedit и HiLightMemo ни чуть не оптимальнее, чем в Listbox и ComboBox и если уж захотели заниматься оптимизацией, то всего сразу. Иначе получили бы ускорение в одном месте, и замедление в другом. Как делать такую оптимизацию - было и показано на двух элементах выше. Сейчас задача стоит добиться максимума от пяти элементов - двух листов и трех полей ввода. Следовательно расширяем наследование:

WinList -> EWinList -> Memo
-> richedit
-> HiLightMemo
-> LWinList -> ListBox
-> ComboBox
и на каждом уровне прописывает код, оптимальный для элементов данного класса.

Для редакторов видимо самая оптимальная загрузка и установка текста это Control.Text := <value> без каких бы то ни было ухищрений.
карма: 27
0
Разработчик
Ответов: 26153
Рейтинг: 2127
#152: 2009-11-10 18:51:40 ЛС | профиль | цитата
Dilma писал(а):
Для редакторов видимо самая оптимальная загрузка и установка текста это Control.Text

Проверял я это, не понимает Control.Text больших текстов, с чем это связано, понятия не имею, не нашел еще
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#153: 2009-11-10 22:18:57 ЛС | профиль | цитата
да помнится была такая проблемка...
карма: 27
0
Разработчик
Ответов: 26153
Рейтинг: 2127
#154: 2009-11-11 15:06:36 ЛС | профиль | цитата
Добавил оптимизированные класссы EWinList и LWinList. Результаты тестирования загрузки файла ~ 11 Мб на рабочей машине (P IV 3.0 MHz)

Метод doLoad:

HiLightMemo -- 211 msec;
Memo -- 1812 msec;
RichEdit -- 6264 msec;
ListBox -- 4915 msec;
ComboBox -- 113572 msec

Метод doText:

HiLightMemo -- 256 msec;
Memo -- 1857 msec;
RichEdit -- 6321 msec;
ListBox -- 4591 msec;
ComboBox -- 113619 msec
------------ Дoбавленo в 15.08:
Результат HiLightMemo, меня приятно удивил. На современных машинах эта скорость будет ещ, раза в два, выше
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#155: 2009-11-11 17:47:34 ЛС | профиль | цитата
для ListBox многова-то что-то...
карма: 27
0
Разработчик
Ответов: 26153
Рейтинг: 2127
#156: 2009-11-11 18:00:24 ЛС | профиль | цитата
Dilma писал(а):
для ListBox многова-то что-то...

Дома проверю, комп барахло, возможно, в нем проблема
карма: 22

0
Разработчик
Ответов: 26153
Рейтинг: 2127
#157: 2009-11-11 19:57:32 ЛС | профиль | цитата
Проблема была в затесавшемся менеджере

Последние данные, файл тот же

Метод doLoad:

HiLightMemo -- 131 msec;
Memo -- 937 msec;
RichEdit -- 4112 msec;
ListBox -- 338 msec;
ComboBox -- 43419 msec

Метод doText:

HiLightMemo -- 168 msec;
Memo -- 700 msec;
RichEdit -- 4083 msec;
ListBox -- 399 msec;
ComboBox -- 43678 msec
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#158: 2009-11-11 21:29:51 ЛС | профиль | цитата
да, похоже на правду. А с ComboBox удалось выяснить, что за проблема?
карма: 27
0
Разработчик
Ответов: 26153
Рейтинг: 2127
#159: 2009-11-11 21:53:14 ЛС | профиль | цитата
Dilma писал(а):
А с ComboBox удалось выяснить, что за проблема?

Вот с этм у меня возникли пробемы -- должен работать быстро, но не получается. Методы, вроде, все отрабатываают. Пороюсь еше, может удастся выяснить, в чем проблема.
карма: 22

0
159
Сообщение
...
Прикрепленные файлы
(файлы не залиты)