|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.12.2009, 09:41 | #21 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
А может поступить так:?
-На экран (в мемо) вываливается не весь код, а только тот участок, который поместится на экране так, чтобы у мемки не появились полосы прокрутки. А скроллер справа - левый, он "перематывает" текст, но не в мемо, а в буфере, а во время скролла посылает в мемо новый участок кода. Таким образом идет работа не со всем кодом одновременно, а только с таблицей, примерно 20*60 символов.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
02.12.2009, 09:49 | #22 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
02.12.2009, 10:07 | #23 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
1. Мне кажется мемо далеко не лучший выбор для редактора.
2. У нек-рых контролов, например TListView, есть виртуальный(если я слово не перепутал) режим работы. Смысл в том, что на экране отображается только видимая часть списка в данный момент, а сам контрол пустой, в него не грузится изначально ничего, грузиться в память в отдельный класс. Это намного ускоряет загрузку когда очень много данных. 3. Отображение сильно замедляет, в память нужно читать из файла. А выводить только то что нужно (если большие файлы). Я ставил метки по всему коду, и замерял время выполнения, на что сколько времени уходит. Все это писал в лог. А по нему уже видно что именно требует оптимизации в первую очередь. Если тормоза именно при обработке текста, а не из-за отображения, то это уже другая тема.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
02.12.2009, 10:09 | #24 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
при чтении он не обновляется вроде.
значит мож алгоритм не совершенен? или действительно вывести в отдельный поток? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
02.12.2009, 10:14 | #25 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Цитата:
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
|
02.12.2009, 10:20 | #26 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
это тоже не плохо...
кстати Делфи например перенос строки не важен.(хоть в одну строку пиши) поэтому мне кажется лучше в цикле как один string пробегать...и не стирать части строки...а юзать тогда уж переменную целочисленную для запоминания текущей позиции Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
02.12.2009, 10:38 | #27 | ||
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Цитата:
Цитата:
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
||
02.12.2009, 10:47 | #28 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Остальную часть времени, не зависящую от процесса получения строк я уже оптимизировал (ускорилось примерно на треть), мне бы быстрый способ чтения из компонента. Собственно не имеет особого значения Мемо это будет или не Мемо (просто в данном случае это Мемо).
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
02.12.2009, 10:52 | #29 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
поидее работа со StringList немного медленее изза вызова методов и проверок внутри них.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
02.12.2009, 11:16 | #30 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Цитата:
ИМХО, из компонента (читай VCL класса) быстрее чем он может, читать не получится. Разве что прямо с диска читать на низком уровне, и самому разбирать данные. Не попробуешь - разницу не увидишь. Так как в любом случае файл в конечном итоге будет загружен в память целиком, то можно для удобства одним махом грузить его в TMemoryStream, а дальше все в твоих руках, как сделаешь - так быстро и будет. Кстати про строки, ты в курсе что в Delphi используется хитрая модель, когда иногда копируются данные а иногда просто ссылка размножается на строку? От этого скорость будет напрямую зависеть. Читать здесь: http://rsdn.ru/article/Delphi/Delphi_7_02.xml#E3HCI
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог Последний раз редактировалось mutabor; 02.12.2009 в 11:23. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как быстро перемешать строки? | zver777 | Общие вопросы Delphi | 5 | 23.08.2009 20:50 |
Как скопировать текст из мемо одной формы в мемо другой | CraZZy RabbIt | Общие вопросы Delphi | 4 | 27.02.2009 00:01 |
Нужно найти папку быстро но как? | zotox | Помощь студентам | 3 | 21.09.2008 13:35 |
Как быстро переверннуть(отразить) изображение? | Paul Hindenburg | Мультимедиа в Delphi | 2 | 10.01.2008 12:51 |