Но появилась новая проблема. Иногда скрипт во время работы внезапно запрещает выделять действия. Т.е при клике на любое действие, оно просто не выделяется красным. Это второй баг, независимый от первого если что
Оптимизация действия "Проверить существование"
-
@Dodok
После каждого клика может появиться несколько видов ошибок или клик может просто не сработать. Из-за этого, если расставлять "Ждать появления", скрипт будет ждать того, чего не дождется. Сейчас же после каждого клика стоит функция "FullLoad" (цикл с проверкой существования лоадера) + "Проверить существование" ожидаемой страницы. То есть если что-то не так - он сразу выходит из потока. Компактно и работает без нареканий, но вот с нагрузкой проблема. -
@doupiu said in Оптимизация действия "Проверить существование":
@Dodok
После каждого клика может появиться несколько видов ошибок или клик может просто не сработать. Из-за этого, если расставлять "Ждать появления", скрипт будет ждать того, чего не дождется. Сейчас же после каждого клика стоит функция "FullLoad" (цикл с проверкой существования лоадера) + "Проверить существование" ожидаемой страницы. То есть если что-то не так - он сразу выходит из потока. Компактно и работает без нареканий, но вот с нагрузкой проблема.Плюс лоадер может появляться также после различного рода селектов и других взаимодействий, страница не меняется и привязаться к ожиданию чего-то проблематично.
Поэтому нужно что-то, завязанное на лоадере, потому что пропадание лоадера - 100%-ный вариант.
-
@bigorat said in Оптимизация действия "Проверить существование":
@doupiu, а вы пробовали в цикле после всех проверок наличия элементов ставить ожидание хотя бы в секунду? Я так же использую проверки в циклах, но всегда добавляю паузу, у себя огромного потребления ресурсов не вижу.
Да, но, к сожалению, это не вариант. Кликов много, если везде ждать даже по 0,5 сек - набегает лишняя задержка. А мне как раз скорость важна, я для этого и хочу нагрузку снизить, чтобы скорость увеличить..
-
Что сделал в итоге:
- Первое и самое главное: разделил цикл на 3 разных цикла (у меня там 3 вида лоадеров и проверялись все в одном цикле). Разделение на 3 цикла уже само по себе уменьшило нагрузку считай в 3 раза (т.к. теперь крутится в цикле одно действие "Проверить существование", а не 3 как раньше).
- Добавил задержку 300 мс в цикл. Так работает даже быстрее, чем без задержки, т.к. не виснет ЦП.
-
@doupiu said in Оптимизация действия "Проверить существование":
Что сделал в итоге:
2) Добавил задержку 300 мс в цикл. Так работает даже быстрее, чем без задержки, т.к. не виснет ЦП.ну вот об этом я и говорил, иногда чуть медленнее оказывается быстрее :)
Есть много тем на форуме - когда добавление небольшой задержки выводит скрипт из зависонов и оверхеда.
