Здравствуйте, гость ( Вход | Регистрация )

> Одновременная работа нескольких скриптов
cirus
сообщение 24.9.2014, 14:36
Сообщение #1


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26757
Пользователь №: 16.971
Возраст: 29



Например, есть 2 скрипта. Один проверяет if'ом 10 точек на нужный цвет, второй For'ом перебирает 18 картинок.
Работа скриптов по одному (linedelay 0):
Время варьируется в пределах +-10мсек
Время работы первого около 300 мсек, загрузка цп 1-2%
Время работы второго около 730 мсек, загрузка цп 2-3%

Работа скриптов одновременно (linedelay 0):
Время работы первого около 560 мсек, загрузка цп 0-1%
Время работы второго около 1460 мсек, загрузка цп 0-2%

Т. е. вместо того чтобы загрузить цп, пилот снижает нагрузку, соответственно время работы скриптов увеличивается.
Запуск 3 скрипта еще увеличит время работы всех скриптов. При этом нагрузка на цп никак не изменится.
Приоритет скриптов никак не повлиял на их время работы.

Это как-то можно решить?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
DarkMaster
сообщение 25.9.2014, 5:42
Сообщение #2


***********

Модератор UOPilot
Сообщений: 9.742
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29657
Пользователь №: 11.279



Цитата
Непонятно почему if'у требуется 30 мсек для проверки цвета в конкретной точке, при том что findcolor в FullHD находит цвет меньше чем за 100 мсек.
У меня пилот никак не влияет на фпс в л2, но что-то меняется, при повороте камеры это немного заметно, даже не знаю как объяснить. Поворот камеры какой-то плавающий, даже если фпс за 100. И это не торможения и не лаги (i7 и ram-диск на весь клиент л2). Хотя привыкаешь и кажется что так и должно быть smile.gif

Опять же мои догадки. If запрашивает цвет пикселя через WinAPI, скорее всего в WinAPI эта функция не многопоточная и запросы просто складываются в очередь. Т.е. сколько раз мы не запускаем пилот - очередь будет одна и та же. При этом есть очень интересный момент - при работе через Астер одно рабочее место не влияет на другое. Т.е. на каждую сессию либо на каждого пользователя идет своя обработка. Можно кстати попробовать запустить одновременно одно приложение и пилот от двух разных пользователей и посмотреть изменится ли при этом производительность. Вторичный вход в систему в службах должен быть включен для подобных манипуляций.
То, что вы видите "подергивание" - это пропуск фрейма вывода изображения. Если фрейм попал в выводимый, то он будет пропущен и будет микрофриз. При этом фпс в приложении может почти не падать, т.к. счетчики фпс замеряют количество кадров за определенный промежуток времени и если запросы происходят не часто, то на счетчике вы не увидите существенных изменений. Например счетчик считает 5 секунд фпс и выводит срединй, т.е. будет что-то вроде 342/5. Сильную разницу вы увидите, если будет не 342, а 341? А вот изображение дернется. В качестве эксперимента сделайте скрипт состоящий только из if'а без каких либо задержек и получите реальную просадку.

Сообщение отредактировал DarkMaster - 25.9.2014, 6:30


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
cirus   Одновременная работа нескольких скриптов   24.9.2014, 14:36
DarkMaster   В текущей версии нет. Вычисления почему-то стали н...   24.9.2014, 14:57
cirus   Слежение всегда выключено. Переключение на неактив...   25.9.2014, 2:07
cirus   С л2 такие фокусы не проходят, вылетает с критом...   25.9.2014, 11:58
DarkMaster   Это скорее в следующей версии винды =) Либо искать...   25.9.2014, 12:05
cirus   Тут в одной темке упомянули другой кликер. Решил ...   28.9.2014, 20:08
DarkMaster   Дык я и написал, что либо менять схему запроса либ...   28.9.2014, 21:09
cirus   А что мешает? Вот 2 скрипта делающих одно и тоже....   26.10.2014, 13:00
DarkMaster   для начала что там делают квадратные скобки? Это ...   26.10.2014, 13:20
cirus   Согласен, можно чуть ускорить. В любом случае испо...   26.10.2014, 13:49
cirus   С Findcolor и Findimage при поиске workwindow такж...   26.10.2014, 14:12
DarkMaster   set linedelay 0 set #handleWin workwindow set work...   26.10.2014, 14:49
cirus   Это как так? У меня 59342 мс. Можно конечно на п...   26.10.2014, 15:20
DarkMaster   ну вот так) q9300 на 3400 частотка поднята. видео ...   26.10.2014, 15:25
cirus   Прикольно. i7 2600k 3,4 Ггц (разгон до 4,4 Ггц), g...   26.10.2014, 15:33
cirus   Понятно в чём дело. От фпс зависит. Если запускать...   26.10.2014, 15:51
cirus   Пока, есть такой вариант: В одном скрипте использо...   31.10.2014, 3:04
Fors1k   cirus , DarkMaster, у вас еще то же железо? Могли ...   27.5.2019, 3:26
cirus   Зависит не от версии пилота, а от фпс в игре.   27.5.2019, 10:48


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 8.7.2025, 12:14
Designed by Nickostyle