![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| sgentstuff |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 116 Регистрация: 13.9.2005 Репутация: нет Всего: 1 |
сильно ли эта штука тормозит цикл?
--------------------
Тот, кто ищет миллионы, весьма редко их находит, но тот, кто их не ищет, не находит никогда. |
|||
|
||||
| DemoCode |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 890 Регистрация: 20.10.2005 Где: Россия Репутация: 2 Всего: 41 |
Зависит от многих обстоятельств. А опытным путем нельзя проверить? -------------------- Жить стало лучше, жить стало веселей © И.В. Сталин |
|||
|
||||
| Palladin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 932 Регистрация: 15.5.2007 Где: Беларусь г.Гомель Репутация: 3 Всего: 17 |
Да, это происходит потому что даже если ты используеш только одну подкоманду
допустим Application.ProcessMessages; Помимо неё подгружается ВЕСЬ TApplication, а он состоит из сотен строк кода -------------------- Глуп тот кто полагается на истину авторитета, а не на авторитет истины [color=red]KAV&KIS==Evil[/color] |
|||
|
||||
| sgentstuff |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 116 Регистрация: 13.9.2005 Репутация: нет Всего: 1 |
ну помимо того что просто как команда тормозит, еще добавляется тормознутость (т.е я делаю люболе действие прерывается цикл совершается действие и потом он дальше продолжается, сильно ли это тормозит?), опытным не знаю как проверить
--------------------
Тот, кто ищет миллионы, весьма редко их находит, но тот, кто их не ищет, не находит никогда. |
|||
|
||||
| BUGOR |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 12.3.2006 Репутация: 5 Всего: 16 |
Замерить время выполнения с этой командой и без неё, отнять от первого второе. |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
sgentstuff, эта команда заставляет обработать все поступившие сообщения и если код обработчика быдет выполнятся секунду, то вся программа в это время будет ждать т.е. все зависит от длительности выполнения кода обработчика. Если это время велико, то обычно создают второй поток и помещают то что должно выполнятся постоянно в него, а обработчики будут выполнятся паралельно с ним.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Voyager |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 532 Регистрация: 8.2.2005 Репутация: 2 Всего: 18 |
Если в цикле обарабтывается достаточно много элементов, то да, заметно тормозит.
|
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 2 Всего: 74 |
Чтобы измерить время делай gettickcount до и после работы. Потом вычитай.
-------------------- Всем добра |
|||
|
||||
| sgentstuff |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 116 Регистрация: 13.9.2005 Репутация: нет Всего: 1 |
В общем затестил я это дело, если во время работы программы ничего не делать то время работы одинаково, если же че-то делать с формочкой(например перетаскивать), то время работы заметно увеличивается, короче все понятно, всем спасибо!
Добавлено @ 07:47
i:=gettickcount; - это просто число, как его в нормальное время преобразовать? Добавлено @ 07:51
код обработчика будет выполнятся секунду - отчего зависит время выполнения кода обработчика, т.е если я например нажал на формочку и таскаю ее по экрану, вся программа ждет пока я ее отпущу? --------------------
Тот, кто ищет миллионы, весьма редко их находит, но тот, кто их не ищет, не находит никогда. |
||||||
|
|||||||
| Palladin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 932 Регистрация: 15.5.2007 Где: Беларусь г.Гомель Репутация: 3 Всего: 17 |
Да, хочеш живой пример в Windows P.S. Покрайней мере у меня на кампе так -------------------- Глуп тот кто полагается на истину авторитета, а не на авторитет истины [color=red]KAV&KIS==Evil[/color] |
|||
|
||||
| BUGOR |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 12.3.2006 Репутация: 5 Всего: 16 |
RooR, скачка идёт параллельно, просто инфа не отображается.
Это не просто число, это кол-во миллисекунд с момента последней перезагрузки. Как перевести? Простым делением сначала на 1000(получишь кол-во секунд), потом на 60(минуты) и ещё раз на 60(часы), ну можно ещё на 24, тогда сутки, а потом ещё на 365, это уже года, ну и ещё на 100, века |
|||
|
||||
| Palladin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 932 Регистрация: 15.5.2007 Где: Беларусь г.Гомель Репутация: 3 Всего: 17 |
Хмм возможно P.S. 2Bugor то что ты сказал это точно????? -------------------- Глуп тот кто полагается на истину авторитета, а не на авторитет истины [color=red]KAV&KIS==Evil[/color] |
|||
|
||||
| BUGOR |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 12.3.2006 Репутация: 5 Всего: 16 |
RooR, ну проверь, это же не сложно сделать. Поперетаскивай окошко секунд десять, потом отпусти и на прогрессбаре будет скачок, это говорит о том, что во время перетаскивание скачивание файла продолжалось.
Это сообщение отредактировал(а) BUGOR - 16.7.2006, 13:03 |
|||
|
||||
| Palladin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 932 Регистрация: 15.5.2007 Где: Беларусь г.Гомель Репутация: 3 Всего: 17 |
2Bugor Гениально
P.S. Я так и проверил ещё до того как ты отписал свой последний пост -------------------- Глуп тот кто полагается на истину авторитета, а не на авторитет истины [color=red]KAV&KIS==Evil[/color] |
|||
|
||||
| Mr.Floppy |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 106 Регистрация: 3.7.2006 Где: Москва Репутация: 1 Всего: 1 |
Сильно. Поэтому, если ты делаешь какие-то долгие вычисление в цикле, и рисуешь прогрессбар или изменяешь текст кепшена, то делай это не чаще 1 раза в секунду. (кстати, TGauge сам перерисовывается и ему не надо ProcessMessages выполнять) |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |