Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2016, 11:16   #11
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

как-то вы уж быстро определили, что код тормозящий... да и тут его не покажешь - он длинный - там много функций внутренних. а разобраться в нём, думаю, не будет ни у кого малейшего желания.
единственное, может быть слабое место - это посимвольное сравнение строки-оригинала с тем, что пишет пользователь.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 11.04.2016, 11:21   #12
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так оно ж у вас не всегда тормозит, а только "когда слова набираешь". Значит надо смотреть, что происходит в это время.

А еще есть такая штука как профайлер https://www.google.com/search?q=delphi+profiler
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 11.04.2016, 11:25   #13
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

интересно! спасибо
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 11.04.2016, 12:45   #14
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

обычно скорость циклических вычислений увеличивается путем ХРАНЕНИЯ "промежуточных" результатов. вместо многочисленных вычислений во вложенных цикле(-ах).

Цитата:
s:=list2.Text;
// зачем 1000000 раз генерировать одну и ту же строчку ( к тому же достаточно объемную)
Цитата:
Евгений, спасибо.
Скорость выросла в 6 раз )
вся тема
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 11.04.2016, 13:49   #15
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

это у меня и так сделано, вроде бы. но ещё раз пересмотрю свой код. спасибо за участие! циклов у меня там вроде бы нет таких, что могут время жрать секундами или минутами
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 11.04.2016, 17:09   #16
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

ВСЁ! разобрался, где собака была зарыта.
у меня в программе 2 таймера. один работает для проверки клавиш. а второй постоянно следит, чтоб был русский язык и отжата клавиша CapsLock
Код:
LoadKeyboardLayout('00000419',1);
   SetLedState(ktCapsLock,False);
убрал эти строки и всё, летает!!!!
запихнул их один раз в начало программы FormCreate и успокоился.
хотя... странно в XP летает с этими двумя строками , а в 7 и выше - они тормозят...
а вообще, выяснил, что именно включение русского языка
тормозит программу
Код:
LoadKeyboardLayout('00000419',1)
и можно ли эту функцию заменить на более быструю? прсото эта уже и так взята из
Код:
function LoadKeyboardLayout;external 'user32.dll' name 'LoadKeyboardLayoutA';
и вот, кто желает сравнить с той, хорошо работающая версия: при нажатии клавиши F1 слова подгружаются быстро и ничего не тормозит.
так что, кто участвовал и напутствовал, всем спасибо.
Вложения
Тип файла: rar Klaviator.rar (450.9 Кб, 8 просмотров)
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.

Последний раз редактировалось NetSpace; 11.04.2016 в 18:02.
NetSpace вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отключение HTTP AGlimov Работа с сетью в Delphi 14 16.06.2013 21:09
Отключение мышки Yuran Win Api 2 23.06.2008 13:08
отключение процессов UROKSAN Win Api 1 10.04.2008 09:08
Отключение питания Terran Общие вопросы Delphi 5 09.12.2007 00:44
Отключение клавиатуры Lonix Общие вопросы Delphi 4 04.09.2007 17:48