Курс на ускорение!

  • Автор темы Автор темы Alexxxander
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Alexxxander

Топикстартер
15 лет на форуме
Сообщения
193
Реакции
25
Как ускорить выполнение скриптов?
Например, в PM Scenario есть команда ReDraw Off, запрещающая обновлять перерисовку экрана. Что-то ничего подобного в ID я не нашел. Может, не там искал?..
И как еще можно ускорить выполнение?
 
Ответ: Курс на ускорение!

Код оптимизировать.
Найти новое решение старой проблемы :)
 
Ответ: Курс на ускорение!

1.
vbatushev сказал(а):
Код оптимизировать.
2.
vbatushev сказал(а):
Найти новое решение старой проблемы :)
3. Апгрейдить компьютер
...
что еще? ;)

Т.е. я правильно понял, что запретить обновление экрана невозможно?
 
Ответ: Курс на ускорение!

А что у тебя скрипт делает, что экран нуждается в обновлении?
 
Ответ: Курс на ускорение!

vbatushev сказал(а):
А что у тебя скрипт делает, что экран нуждается в обновлении?
Так наоборот, не хочу чтоб обновлялся. А то начинаются на экране пляски всякие: строчки прыгают, буквы скачут... Время уходит в пустоту... Безвозвратно. Мрачная картина?.. ;)
 
Ответ: Курс на ускорение!

Так наоборот, не хочу чтоб обновлялся.
Ты не понял, какие действия выполняет скрипт, что ИД выполняет перерисовку экрана?
 
Ответ: Курс на ускорение!

Onger сказал(а):
Ты не понял, какие действия выполняет скрипт, что ИД выполняет перерисовку экрана?
Обрабатывает текст: меняет стили, делает нужное п/ж, объединяет строчки и пр. Другой скрипт ставит кучу объектов. И все эти преобразования естественно отображаются на экране.
Вообще, запрещать обновление было бы полезно во время выполнения многих скриптов, но это чаще всего не критично. А в моем случае, когда скрипт может выполняться 2-4 минуты, хочется как-то его ускорить.
 
Ответ: Курс на ускорение!

На VB написан судя по всему.
 
Ответ: Курс на ускорение!

2 vbatushev
Когда sZam обрабатывает текст, то по ходу обработки текст начинает двигаться "вживую". Просто интересно - влияет ли это на скорость выполнения скрипта, особенно когда весь этот кусок текста виден на экране, и в настройках ИнДиза включено сглаживание текста?
 
Ответ: Курс на ускорение!

У народа есть мнение что в данных случаях надо обработку текста вести в неком буфере...
 
Ответ: Курс на ускорение!

У народа есть еще более правильное мнение, состоящее в том, что документ, с которым нужно работать, можно сворачивать. Но насколько это ускоряет скрипт, народ не тестировал.
 
Ответ: Курс на ускорение!

Не вариант.
 
Ответ: Курс на ускорение!

Я не стал бы столь категорично высказываться ни за, ни против. Ускорение может быть разным для разных типов работ. Точный ответ могут дать только измерения.
 
Ответ: Курс на ускорение!

Oleg Butrin сказал(а):
У народа есть еще более правильное мнение, состоящее в том, что документ, с которым нужно работать, можно сворачивать. Но насколько это ускоряет скрипт, народ не тестировал.
Верной дорогой идете, товарищи!
Я провел расследование. Запускал свой скрипт с максимальной нагрузкой, выделив на развороте все текстовые фреймы, которые нужно обрабатывать. И вот какие результаты:
1. В обычном режиме (ID активен) -- 23 мин. 16 с.
2. ID свернут -- 12'27"
3. Сдвинуто окно в ID так, чтобы обработанные фреймы были не видны на экране -- 13'8"
4. Работа с другими программами во время выполнения скрипта (окно ID не видно) -- 13'14".
Повторение этих пунктов дает разброс в несколько десятков секунд (проверил это только раз).

Вывод: команда, запрещающая обновлять экран НЕОБХОДИМА!
А если нет такой -- сворачивайте окно или переключайтесь на другую программу.
 
Ответ: Курс на ускорение!

Гм.
Интересно, а есть команды которые сворачивают/разворачивают программу?
 
Ответ: Курс на ускорение!

Alexxxander: Сворачивал окно программы или документа?
 
Ответ: Курс на ускорение!

Don Pedro сказал(а):
Гм.
Интересно, а есть команды которые сворачивают/разворачивают программу?
Window.Minimize/Window.Restore, Window.Maximize
 
Ответ: Курс на ускорение!

Glutton сказал(а):
Alexxxander: Сворачивал окно программы или документа?
По-моему, большой разницы нет. Попробовал обоими способами.
Насколько я понимаю в windows-программировании, когда окно свертывается (минимизируется), то достаточно проверить флаг минимизации и ничего больше не делать. А если окно хоть частично находится на экране, нужно проверять необходимо ли его обновлять, определяя видно ли окно плоностью или частично итд. С другой стороны, при сворачивании окна приложению может назначаться более низкий приоритет, что, должно сказаться на скорости (правда, мои эксперименты явно этого не подтверждают).
 
Статус
Закрыто для дальнейших ответов.