Автокликер Clickermann :: Форум

Основной раздел => Использование => Topic started by: Oraven on October 21, 2012, 02:04:13 PM

Title: BenchMark Test
Post by: Oraven on October 21, 2012, 02:04:13 PM
Данный тест оценивает время затрачиваемое на COLORMODE
Версия кликера должна быть 4.7

Тестируются строки

GETSCREEN
COLORMODE(7)

Тест длится несколько секунд.
В конце результаты выводятся в лог.

Копируем скрипт, вставляем в редактор, запускаем. Полученный результат пишем в этой теме.

Code: [Select]
#name "BenchMark Test"

HINTPOPUP ("Инициализация ...", "BenchMark Test")
wait(2)

$resMin = 999999
$resSum = 0
$cyc = 100   // кол-во тестов

HINTPOPUP ("Подождите несколько секунд ...", "BenchMark Test")

for($i, $i < $cyc)
   $st = $_ms
//==== Строки для теста ======
   GETSCREEN
   COLORMODE(7)
//========================
   $res = $_ms - $st
   IF($res > $resMax)
      $resMax = $res
   END_IF
   
   IF($res < $resMin)
      $resMin = $res
   END_IF
   inc($resSum, $res)
   
end_cyc

$resMid = round($resSum / $cyc, -3)
$counts = ($_xmax+1) * ($_ymax+1) * $cyc
logwrite("====BenchMark Test====")
logwrite("Разрешение:  ", $_xmax+1, "x", $_ymax+1)
logwrite("Итерации:    ", $cyc)
logwrite("========Время=========")
logwrite("Мин:         ", $resMin, " мс")
logwrite("Сред:        ", $resMid, " мс")
logwrite("Макс:        ", $resMax, " мс")
logwrite("Общ:         ", $resSum, " мс")
logwrite("==Кол-во вычислений===")
logwrite("Всего:       ", $counts)
logwrite("За 1 мс:     ", Round($counts / $resMid / $cyc, -3))
logwrite("======================")
logwrite(" ")

LOGSHOW (1)
HINTPOPUP ("Тест окончен", "BenchMark Test")
Halt
Title: Re: BenchMark Test
Post by: Johnny on October 21, 2012, 03:00:38 PM
рекомендую добавить задержку пару секунд в начале (замечено что кликер имеет особенность в момент старта немного тупить)
и вот такие строчки
Code: [Select]
$counts = ($_xmax+1) * ($_ymax+1)
logwrite("Вычислений (всего): ", $counts)
logwrite("Вычислений (в 1 мс): ", Round($counts / $resMid, -3))
logwrite("======================")

они позволят реально помериться пипиской (вычислений за 1 мс) независимо от разрешения на мониторе  ;D

у меня такая вот штука на работе получилась (проц E6550 (http://ark.intel.com/products/30783/Intel-Core2-Duo-Processor-E6550-4M-Cache-2_33-GHz-1333-MHz-FSB))
Code: [Select]
19:55:16 ====BenchMark Test====
19:55:16 Разрешение: 1280x1024
19:55:16 Время
19:55:16 Мин:        58 мс
19:55:16 Сред:       60 мс
19:55:16 Макс:       62 мс
19:55:16 ======================
19:55:16 Вычислений (всего): 1310720
19:55:16 Вычислений (за 1 мс): 21845.333
19:55:16 ======================
Title: Re: BenchMark Test
Post by: Oraven on October 21, 2012, 03:13:51 PM
Вот что у меня получилось (ЦП DualCore AMD Athlon 64 X2, 3000 MHz (15 x 200) 6000+)
Code: [Select]
16:09:42 ====BenchMark Test====
16:09:42 Разрешение: 1600x1200
16:09:42 Время
16:09:42 Мин:        112 мс
16:09:42 Сред:       126 мс
16:09:42 Макс:       140 мс
16:09:42 ======================
16:09:42 Вычислений (всего): 1920000
16:09:42 Вычислений (в 1 мс): 15238.095
16:09:42 ======================
Title: Re: BenchMark Test
Post by: Johnny on October 21, 2012, 04:16:11 PM
А вот я уже дома.. Проц G850 (http://ark.intel.com/products/53491/Intel-Pentium-Processor-G850-%283M-Cache-2_90-GHz%29)

Code: [Select]
21:11:16 ====BenchMark Test====
21:11:16 Разрешение: 1920x1080
21:11:16 Время
21:11:16 Мин:        66 мс
21:11:16 Сред:       68.5 мс
21:11:16 Макс:       71 мс
21:11:16 ======================
21:11:16 Вычислений (всего): 2073600
21:11:16 Вычислений (в 1 мс): 30271.533
21:11:16 ======================
Title: Re: BenchMark Test
Post by: ЦИТРИН on October 21, 2012, 10:27:24 PM
23:24:52 ====BenchMark Test====
23:24:52 Разрешение: 1280x768
23:24:52 Время
23:24:52 Мин:        67 мс
23:24:52 Сред:       81.5 мс
23:24:52 Макс:       96 мс
23:24:52 ======================
23:24:52 Вычислений (всего): 983040
23:24:52 Вычислений (в 1 мс): 12061.84
23:24:52 ======================

Ноут Самсунг R560
запущены пара программ + шел процесс копирования фалов( 2Гб)  на флешку
Title: Re: BenchMark Test
Post by: Сергей on October 22, 2012, 01:37:47 AM
Мой калькулятор:
Code: [Select]
9:21:37 ====BenchMark Test====
9:21:37 Разрешение: 1280x1024
9:21:37 Время
9:21:37 Мин:        96 мс
9:21:37 Сред:       105.5 мс
9:21:37 Макс:       115 мс
9:21:37 ======================
9:21:37 Вычислений (всего): 1310720
9:21:37 Вычислений (в 1 мс): 12423.886
9:21:37 ======================
Core2Duo E7500, GeForce 9500 GT

Кстати, параметр "Вычислений (всего)", показывает просто кол-во пикселей на экране, а не кол-во итераций, как ожидаешь. Лучше бы его назвать "Кол-во пикселей на экране".
И последний параметр лучше бы назвать "Обработано пикселей в среднем за 1мс"

И надо было "Сред." считать не как среднее арифметическое от "Мин." и "Макс.", а как соотношение прошедшего времени к выполненным итерациям.
Title: Re: BenchMark Test
Post by: Johnny on October 22, 2012, 04:37:35 AM
я вижу у нас на форуме не в пример группе ВК собрались только технически грамотные люди  :)

в принципе Сергей прав. можно переделать бенчмарк. вместо ожидания 30 сек поставить допустим цикл 10 итераций.
10 раз складываем затраченное время. в конце делим сумму на 10, получаем реально среднее значение мс
ну, а "вычислений (всего)" просто домножить на 10

ну или не 10. 10 это быстро. 50 думаю хватит

поковырялся тут на работе на обеде, в общем такой вот получился бенчмарк. немного объективнее предыдущих проверок, но результаты весьма схожи
Code: [Select]
#name "BenchMark Test"

wait(2)

$resMin = 999999
$resSum = 0
$cyc = 50   // кол-во тестов

HINTPOPUP ("Подождите ...", "BenchMark Test")

for($i, $i < $cyc)
   $st = $_ms
//==== Строки для теста ======
   GETSCREEN
   COLORMODE(7)
//========================
   $res = $_ms - $st
   IF($res > $resMax)
      $resMax = $res
   END_IF
   
   IF($res < $resMin)
      $resMin = $res
   END_IF
   inc($resSum, $res)
   
end_cyc

$resMid = round($resSum / $cyc, -3)
$counts = ($_xmax+1) * ($_ymax+1) * $cyc
logwrite("====BenchMark Test====")
logwrite("Разрешение:  ", $_xmax+1, "x", $_ymax+1)
logwrite("Итерации  :  ", $cyc)
logwrite("Время")
logwrite("Мин :  ", $resMin, " мс")
logwrite("Макс:  ", $resMax, " мс")
logwrite("Сред:  ", $resMid, " мс")
logwrite("Общ :  ", $resSum, " мс")
logwrite("======================")
logwrite("Кол-во вычислений (всего): ", $counts)
logwrite("Кол-во вычислений (за 1 мс): ", Round($counts / $resMid / $cyc, -3))
logwrite("======================")

LOGSHOW (1)
HINTPOPUP ("Тест окончен", "BenchMark Test")
Halt
Title: Re: BenchMark Test
Post by: Сергей on October 22, 2012, 08:44:34 AM
Поправил бенчмарк, код:
Code: [Select]
#name "BenchMark Test"

HINTPOPUP ("Подождите, идет инициализация...", "BenchMark Test")

wait (2)
$resMin = 999999
$iterations = 50
HINTPOPUP ("Выполняется тест... подождите 3-7 секунд.", "BenchMark Test")
for($i,$i<$iterations)
   $st = $_ms
//==== Строки для теста ======
   GETSCREEN
   COLORMODE(7)
//========================
   $res = $_ms - $st
   IF($res > $resMax)
      $resMax = $res
   END_IF
   
   IF($res < $resMin)
      $resMin = $res
   END_IF
   $allres = $allres+$res//Чтобы исключить время затраченное на операции подсчета
end_cyc


$resMid = $allres / $iterations
$counts = ($_xmax+1) * ($_ymax+1)
logwrite("====BenchMark Test====")
logwrite("Разрешение: ",$_xmax+1, "x", $_ymax+1)
logwrite("Время")
logwrite("Мин:        ", $resMin, " мс")
logwrite("Сред:       ", $resMid, " мс")
logwrite("Макс:       ", $resMax, " мс")
logwrite("======================")
logwrite("Затрачено времени: ", $allres, "мс")
logwrite("Пикселей на операцию: ", $counts)
logwrite("Пикселей/мс: ", Round($counts / $resMid, -3))
logwrite("======================")
LOGSHOW (1)
HINTPOPUP ("Тест окончен", "BenchMark Test")
Halt

Кстати, обозвал параметр красиво и поэтично: "Пикселей/мс" :D.

Результаты немного повысились:
Code: [Select]
16:36:10 ====BenchMark Test====
16:36:10 Разрешение: 1280x1024
16:36:10 Время
16:36:10 Мин:        95 мс
16:36:10 Сред:       99.28 мс
16:36:10 Макс:       141 мс
16:36:10 ======================
16:36:10 Затрачено времени: 4964мс
16:36:10 Пикселей на операцию: 1310720
16:36:10 Пикселей/мс: 13202.256
16:36:10 ======================


я вижу у нас на форуме не в пример группе ВК собрались только технически грамотные люди  :)

Это и есть плюс форумов, тут обычно атмосфера располагающая к этому :).

P.S. Johnny меня обогнал пока я пост писал. :P
Title: Re: BenchMark Test
Post by: ЦИТРИН on October 23, 2012, 07:16:06 PM
Для сравнения.
20:12:21 ====BenchMark Test====
20:12:21 Разрешение:  1280x768
20:12:21 Итерации  :  50
20:12:21 Время
20:12:21 Мин :  68 мс
20:12:21 Макс:  95 мс
20:12:21 Сред:  78.3 мс
20:12:21 Общ :  3915 мс
20:12:21 ======================
20:12:21 Кол-во вычислений (всего): 49152000
20:12:21 Кол-во вычислений (за 1 мс): 12554.789
20:12:21 ======================
20:14:08 ====BenchMark Test====
20:14:08 Разрешение: 1280x768
20:14:08 Время
20:14:08 Мин:        67 мс
20:14:08 Сред:       69.66 мс
20:14:08 Макс:       85 мс
20:14:08 ======================
20:14:08 Затрачено времени: 3483мс
20:14:08 Пикселей на операцию: 983040
20:14:08 Пикселей/мс: 14111.972
20:14:08 ======================
Title: Re: BenchMark Test
Post by: СлавьЯнИнъ on October 23, 2012, 08:51:03 PM
Pentium 4 3.20ГГц 4ГБ ОЗУ igma915g
Разрешение: 1152x864
Code: [Select]
21:38:56 ====BenchMark Test====
21:38:56 Разрешение: 1152x864
21:38:56 Время
21:38:56 Мин:        76 мс
21:38:56 Сред:       83 мс
21:38:56 Макс:       156 мс
21:38:56 ======================
21:38:56 Затрачено времени: 4137мс
21:38:56 Пикселей на операцию: 995328
21:38:56 Пикселей/мс: 11992
21:38:56 ======================
Разрешение: 1400x1050
Code: [Select]
21:45:02 ====BenchMark Test====
21:45:02 Разрешение: 1400x1050
21:45:02 Время
21:45:02 Мин:        113 мс
21:45:02 Сред:       114 мс
21:45:02 Макс:       118 мс
21:45:02 ======================
21:45:02 Затрачено времени: 5724мс
21:45:02 Пикселей на операцию: 1470000
21:45:02 Пикселей/мс: 12895
21:45:02 ======================
версия 4.6
Title: Re: BenchMark Test
Post by: СлавьЯнИнъ on November 01, 2012, 02:07:56 PM
Intel Core i3 2.10GHz 3.00GB ОЗУ GeForce 410M
Code: [Select]
15:04:25 ====BenchMark Test====
15:04:25 Разрешение: 1366x768
15:04:25 Время
15:04:25 Мин:        65 мс
15:04:25 Сред:       86.62 мс
15:04:25 Макс:       117 мс
15:04:25 ======================
15:04:25 Затрачено времени: 4331мс
15:04:25 Пикселей на операцию: 1049088
15:04:25 Пикселей/мс: 12111.383
15:04:25 ======================
Title: Re: BenchMark Test
Post by: СлавьЯнИнъ on November 01, 2012, 07:43:14 PM
Intel Core i3 2.10GHz 3.00GB ОЗУ GeForce 410M
Code: [Select]
20:41:07 ====BenchMark Test====

20:41:07 Разрешение:  1366x768
20:41:07 Итерации:    100
20:41:07 ========Время=========
20:41:07 Мин:         66 мс
20:41:07 Сред:        84.97 мс
20:41:07 Макс:        140 мс
20:41:07 Общ:         8497 мс
20:41:07 ==Кол-во вычислений===
20:41:07 Всего:       104908800
20:41:07 За 1 мс:     12346.569
20:41:07 ======================
Скрипт в начале темы
Title: Re: BenchMark Test
Post by: Полуночник on November 01, 2012, 07:56:57 PM
Проц AMD Phenom II X4 3.1 Ghz озу 4gb ATI Radeon HD 4250     
Code: [Select]
20:51:40 ====BenchMark Test====
20:51:40 Разрешение:  1600x900
20:51:40 Итерации:    100
20:51:40 ========Время=========
20:51:40 Мин:         115 мс
20:51:40 Сред:        145.91 мс
20:51:40 Макс:        200 мс
20:51:40 Общ:         14591 мс
20:51:40 ==Кол-во вычислений===
20:51:40 Всего:       144000000
20:51:40 За 1 мс:     9869.097
20:51:40 ======================
20:51:40
Скрипт в начале темы. Правда смотрю тут и другие скрипты есть. могу тож сделать)))
Title: Re: BenchMark Test
Post by: Oraven on November 01, 2012, 08:32:50 PM
Скрипт с верху дополнен вариантами предложенными с низу. Не нужно порождать неразбериху.
Нужно использовать скрипт из первого поста!
Title: Re: BenchMark Test
Post by: Dr_midon on November 06, 2012, 01:39:03 PM
OS: Windows XP 32
CPU: AMD Phenom II X4 3.01 Ghz
RAM: 4gb(0,75gb не используется ввиду битности ОСи)
VGA: ATI Radeon HD 4870 (RV770)

Code: [Select]
16:26:59 ====BenchMark Test====
16:26:59 Разрешение:  1280x1024
16:26:59 Итерации:    100
16:26:59 ========Время=========
16:26:59 Мин:         77 мс
16:26:59 Сред:        78.06 мс
16:26:59 Макс:        88 мс
16:26:59 Общ:         7806 мс
16:26:59 ==Кол-во вычислений===
16:26:59 Всего:       131072000
16:26:59 За 1 мс:     16791.186
16:26:59 ======================
Скрипт в начале темы.
Title: Re: BenchMark Test
Post by: ЦИТРИН on November 06, 2012, 01:47:49 PM
Данный тест оценивает время затрачиваемое на COLORMODE
Поясните  чайникам,  если не трудно.
Вот допустим я узнал   параметры теста, конкретно  для своего компа.
 Какую  временную задержку после  команды "колормод" теперь  я должен поставить?
Откуда  из  лога  брать  число  времени,   для  этой задержки ?
Title: Re: BenchMark Test
Post by: Dr_midon on November 06, 2012, 01:55:29 PM
Ничего не надо - программа не параллельная, а последовательная. Т.е. одна функция отработала и только потом вторая запускается. А тут мы пис***** меряемся  ;D
Title: Re: BenchMark Test
Post by: ЦИТРИН on November 06, 2012, 02:08:38 PM
Ничего не надо - программа не параллельная, а последовательная. 
Тут корифеи рекомендуют задержки ставить в скрипте  между командами кликера.
 Отсюда  и возник мой  вопрос.
Title: Re: BenchMark Test
Post by: Сергей on November 06, 2012, 06:29:44 PM
Ставить их надо чтобы разгрузить процессор. Т.е. просто растягивание времени выполнения скрипта.
Title: Re: BenchMark Test
Post by: Ляпис on November 13, 2012, 11:43:50 PM
Если покопаться в конфиге кмана можно найти такую опцию и существенно сократить размер скрипта.
Quote from: config.ini
; Дополнительная задержка (в милисекундах) после выполнения команды (0 - без задержки)
; (Позволяет разгрузить процессор в случае, когда сценарий не использует WAIT)
delay_between_lines = 1
Title: Re: BenchMark Test
Post by: Oraven on November 14, 2012, 12:25:26 AM
Если покопаться в конфиге кмана можно найти такую опцию и существенно сократить размер скрипта.
Quote from: config.ini
; Дополнительная задержка (в милисекундах) после выполнения команды (0 - без задержки)
; (Позволяет разгрузить процессор в случае, когда сценарий не использует WAIT)
delay_between_lines = 1

Причем тут размер скрипта??? Этот параметр управляет задержками между строк.
Установи там 1000 и каждая строка будет выполняться через секунду.
Title: Re: BenchMark Test
Post by: ЦИТРИН on November 14, 2012, 12:34:41 AM
там 1000 и каждая строка будет выполняться через секунду.
А можно ли  получить  вменяемую инструкцию для новичков,  с рекомендуемыми параметрами задержки, после тех или иных команд?
 Я лично ставлю наобум примерно так
Для режимов мыши 100-250 мс, для экранных работ 550-750 мс, для пережидания моментов   тугодумства браузера 5-10 сек.
Title: Re: BenchMark Test
Post by: Oraven on November 14, 2012, 12:58:02 AM
там 1000 и каждая строка будет выполняться через секунду.
А можно ли  получить  вменяемую инструкцию для новичков,  с рекомендуемыми параметрами задержки, после тех или иных команд?
 Я лично ставлю наобум примерно так
Для режимов мыши 100-250 мс, для экранных работ 550-750 мс, для пережидания моментов   тугодумства браузера 5-10 сек.

Ну ты сам же все написал, и правильно делаешь. Задержку выбирают по обстоятельствам. Задержка должна быть такой чтобы действия работали стабильно но и не слишком медленно. Это все подбирается опытным путем....

Title: Re: BenchMark Test
Post by: Ляпис on November 14, 2012, 01:10:03 AM
Причем тут размер скрипта??? Этот параметр управляет задержками между строк.
Установи там 1000 и каждая строка будет выполняться через секунду.
Я лично ставлю наобум примерно так
Для режимов мыши 100-250 мс, для экранных работ 550-750 мс, для пережидания моментов   тугодумства браузера 5-10 сек.
Вот как раз ЦИТРИНу это и нужно. Нет необходимости лепить задержки абы были. Проц не грузится, скрипт более читаем, а 1000мс это перебор, 10-50 достаточно. Каждый должен подобрать оптимальную задержку под свою конфигурацию компа.
От тугодумства браузера - я предпочитаю дождаться события с помощью анализа экрана, благо кман под то и заточен:
Code: (clickermann) [Select]
$ww = 8388415 //хеш куска ожидаемого окна
$wwk = "380110400120;" // координаты хеша
GOSUB(waitwin)
....................
   // ОЖИДАНИЕ ОКНА
SUB(waitwin)
     $ww1 = 0
     WHILE($ww1 ! $ww)
        GETSCREEN
        $ww1 = PXLXOR(STRCUT($wwk,1,3), STRCUT($wwk,4,3), STRCUT($wwk,7,3), STRCUT($wwk,10,3), 255)
        WAITMS(300)
     END_CYC
END_SUB
Title: Re: BenchMark Test
Post by: ЦИТРИН on November 14, 2012, 02:30:55 AM

1) От тугодумства браузера - я предпочитаю дождаться события с помощью анализа экрана,
2) Нет необходимости лепить задержки абы были. Проц не грузится, скрипт более читаем, а 1000мс это перебор, 10-50 достаточно.
Спасибо )
Интересно.
Попробую. Но мои потуги анализировать экран  (я уже  писал скрипты, правда без сабов) пока ни чему не приводили.
  Т.е., если браузер т.с. "завис" , то это лечится только его  закрытием и новым вызовом.
 Поэтому отказался от процедуры анализа.
 Может я и не прав, но субъективно стабильности стало больше.
2)  Можно ли пояснить , где  и в каких командах нужны задержки по  50 мс , а где по 500 мс?
 
Code: (clickermann) [Select]
...
WAITMS(150)
KEYPRESS(67)
WAITMS(150)
KEYUP(17)
WAITMS(150)
STRWRITELN("первые.txt", FROMCLIP ())
WAITMS(150)
STRWRITELN("первые.txt",STRCONCAT("время -",$_time_h,":",$_time_m,":",$_time_s," \ ",$_date_d,":",$_date_m,":",$_date_y))
WAITMS(150)
DEFINE($follEWWW,0)
$follEWWW = $follWWW - $count
STRWRITELN("первые.txt",STRCONCAT("WWW:"," заказ-",$follWWW," факт-",$count," разница-",$follEWWW))
WAITMS(RND(100,150))
DEFINE($follEDDD,0)
....
вырезал кусочек из свежего скрипта, где натыкал задержек наобум.
Title: Re: BenchMark Test
Post by: Oraven on November 14, 2012, 03:47:35 AM

2)  Можно ли пояснить , где  и в каких командах нужны задержки по  50 мс , а где по 500 мс?
 
Code: (clickermann) [Select]
...
WAITMS(150)
KEYPRESS(67)
WAITMS(150)
KEYUP(17)
WAITMS(150)
STRWRITELN("первые.txt", FROMCLIP ())
WAITMS(150)
STRWRITELN("первые.txt",STRCONCAT("время -",$_time_h,":",$_time_m,":",$_time_s," \ ",$_date_d,":",$_date_m,":",$_date_y))
WAITMS(150)
DEFINE($follEWWW,0)
$follEWWW = $follWWW - $count
STRWRITELN("первые.txt",STRCONCAT("WWW:"," заказ-",$follWWW," факт-",$count," разница-",$follEWWW))
WAITMS(RND(100,150))
DEFINE($follEDDD,0)
....
вырезал кусочек из свежего скрипта, где натыкал задержек наобум.

Я думаю я понял твой вопрос.

Ну задержка после нажатия клавиш явно нужна, Для некоторых тормозных игр иногда приходится задавать 200-400 мс задержки. Для системы достаточно 20-50 мс.
Задержка после STRWRITELN не нужна, (Хотя при работе с буфером обмена можно поставить 50 мс)
Вот после STRWRITELN("первые.txt",STRCONCAT точно не нужна.

Глупо ставить задержку после GETSCREEN, снимок должен быть актуальный.
Title: Re: BenchMark Test
Post by: ЦИТРИН on November 14, 2012, 10:47:51 AM
Вот после STRWRITELN("первые.txt",STRCONCAT точно не нужна.
Глупо ставить задержку после GETSCREEN, снимок должен быть актуальный.
Собственно, вопрос так и не закрыт.
 В кликермане больше 100 команд.
Code: (clickermann) [Select]
FOR
WHILE
GOTO
BREAK
ELSE
END_CYC
END_IF
IF
IF_TIME
INC
WAIT
WAITMS
CALL
AND
OR
XOR
//--- ФУНКЦИИ
PXL
PXLXOR
PXLCRC
PXLCOUNT
RND
RNDFROM
FROMCLIP
DIST
HGETTEXT
HGET
SIN
COS
SQRT
ROUND
//--- МЫШЬ
LCLICK
LDOWN
LUP
RCLICK
RDOWN
RUP
MDOWN
MUP
MCLICK
MOVE
MOVER
DBLCLICK
WHEELDOWN
WHEELUP
//--- КЛАВИАТУРА
KEYDOWN
KEYPRESS
KEYSTRING
KEYUP
IF_KEYDOWN


DEFINE
GETSCREEN
COLORMODE
HALT
IF_PIXEL_IN
IF_PICTURE_IN
LOGCLEAR
LOGSHOW
LOGWRITE
PRINT
EXECUTE
HINTPOPUP

SCREENSHOT
SOUND
TOCLIP
TRAYSAY
UNDEFINE
LOAD
SUB
GOSUB
END_SUB

READMEM
WRITEMEM

HSET
HSETTEXT

STRFILTER
STRCUT
STRCUT2
STRPOS
STRLEN
STRCONCAT
STRREPLACE
STRREADLN
STRWRITELN
STRMD5
INT
WNDFIND
WNDSIZE
WNDPOS
WNDSTATE
POSTMESSAGE
SENDMESSAGE
COLORGEN
COLORR
COLORG
COLORB
BEEP

ISKEYDOWN
INPUTBOX
HTTPGET
HTTPPOST
INIREAD
INIWRITE
 
После каких команд требуется обязательная задержка, на какой срок и должна ли она быть рандомной?
Title: Re: BenchMark Test
Post by: Dr_midon on November 14, 2012, 11:24:27 AM
Давай рассуждать логически:
1. Пауза нужна для разгрузки процессора т.е. если чего-то ждем(обновления экрана / нажатия кнопки пользователем / HTTP ответа от сервера и пр.), то можно проверять не каждый цикл, а тормозиться на несколько долей или даже целых секунд.
2. Пауза нужна для обработки действий программой/игрой с которой мы работаем(у меня достаточно мощный комп и не нужно такого делать, а у другого человека послабее и ему нужны задержки, чтоб игрушка могла переварить клики)

Исходя из этого выбираем длительность паузы в зависимости от производительности компьютера, на котором скрипт будет работать и в зависимости от тормознутости игры/интернета и прочего, с чем приходится работать кликерману. Расставляем паузы в затяжных операциях: например циклах, которые превышают 100 и более повторений. Чтоб не было эффекта зависания. А также после кликов и нажатий клавиш.
Title: Re: BenchMark Test
Post by: ЦИТРИН on November 14, 2012, 11:31:38 AM
Давай рассуждать логически:
1. Пауза нужна для разгрузки процессора... А также после кликов и нажатий клавиш.
Изначально предлагалось расширить доступ к программе, как можно более
широкому кругу лиц.  "Рассуждать логически" понятие крайне неопределенное. То что логично гуманитарию , будет бредом для технаря.
  Каким образом гуманитарию расставить паузы в кликере , если он  под процессором понимает вон тот ящик с  зеленой лампочкой под столом?
 Есть список команд.
 Какие паузы ставить до\после по списку команд, исходя из личного опыта корифеев?
 Нельзя ли в самой программе как-то учитывать время на отработку той или иной команды ( если этого  нет, разумеется) ?
Title: Re: BenchMark Test
Post by: Dr_midon on November 14, 2012, 12:12:39 PM
Углубляемся:
К-ман создан для того, чтоб рутинные операции выполнялись автоматически. Это значит, что мы изначально предполагаем, сколько времени затрачивается на ту или иную операцию.

Например:
Клацаю мышкой на ссылку, жду пока загрузится страничка в браузере. Обратно кликаю на ссылку, опять жду. Рутина? Рутина! Можно это действие автоматизировать? Можно!

Практика:
1. Навожу мышкой на ссылку. Не клацаю, а смотрю координаты и записываю а редакторе кода LCLICK(x,y) или ALT+Q.
2. Затем засекаю, сколько понадобится времени на переваривание этой операции браузером. Дополняю код в редакторе скрипта строчкой WAIT(сколько секунд ждали + еще столько же на всякий случай). Все, скрип готов.

Итог:
Я не могу сказать, сколько понадобилось времени ожидания для написания второй строчки кода. И по этому не могу точно сказать, что пишем  LCLICK(x,y), а за ним обязательно ставим паузу в 2 секунды WAIT(2). И это относится ко всем участникам этого форума. Есть случаи, когда клик обрабатывается мгновенно и не приходится ожидать(например флеш игра). А есть и когда приходится ждать не одну минуту(браузерная игра с обновлением всей странички каждый клик при зависшем интернете). Как тогда быть? Написать: ставь после LCLICK(x,y) ожидание в 5 секунд будет не справедливым, хотя и в 99% будет точным.

Эпилог
Думать надо своей головой, даже, когда копи-пастом пишем скрипты. Если чего-то не получается - это тоже результат, хоть и отрицательный. Лингвисты тоже получают зарплату и тратят деньги и как следствие умеют считать. А значит и в них есть зачатки математика(технаря/программиста). Достаточно их развивать. Нельзя делить людей на гуманитариев и технарей / черное и белое / зло и добро  :P
Title: Re: BenchMark Test
Post by: ЦИТРИН on November 14, 2012, 12:22:55 PM
1. Лингвисты тоже получают зарплату и тратят деньги и как следствие умеют считать. А значит и в них есть зачатки математика(технаря/программиста).
2. Нельзя делить людей на гуманитариев и технарей / черное и белое / зло и добро  :P
В целом, с  Вами согласен, относительно того или иного поведения браузера, на том или ином сайте.
Но вопрос так и не решен , ибо вот-->
1. Исходя из какой банально-бытовой эрудиции рядовой (читай массовый) пользователь, слабо знакомый с основами программирования, может выбрать подходящую  паузу скажем  после  команды  гетскрин, или иф_пискель_ин?
2. Тут Вы противоречите мудрым Мира сего:
" Как только все узнали, что красивое красиво, - тут же появилось и уродство.
Как только все узнали, что добро это добро, - тотчас появилось и зло."(ц) Лао цзе
 
Title: Re: BenchMark Test
Post by: Сергей on November 14, 2012, 07:53:08 PM
Насчет программ - в них обычно как раз не нужно ждать после нажатия клавиши/клика мышки. Там вызовы по WinAPI идут, и они в любом случае обработаются программой.
А вот если уже для следующего шага нужно дождаться от программы какого-то отклика, то да, следует подождать. Обычно программы "подвисают" во время использования не более чем на 125 мс. Так что если ощущается быстрый отклик, то и 125 мс ожидания будет достаточно.
В противном случае надо делать больше, по ощущениям.

А вообще найдите механический секундомер, жутко удобная вещь  :P. Конечно замерять можно и программными средствами, но по мобильности и удобству использования секундомер не заменим
Title: Re: BenchMark Test
Post by: Dr_midon on November 15, 2012, 04:43:36 PM
1. Исходя из какой банально-бытовой эрудиции рядовой (читай массовый) пользователь, слабо знакомый с основами программирования, может выбрать подходящую  паузу скажем  после  команды  гетскрин, или иф_пискель_ин?

Какую категорию он может отнести паузу после своей функции

Давай рассуждать логически:
1. Пауза нужна для разгрузки процессора
2. Пауза нужна для обработки действий программой/игрой

Соответственно первому пункту можно выбирать любое понравившееся значение.
Например:
- Игрушка требует клика мышкой каждые 40 сек. Значит ставим WAIT(40), или даже 41 секунду. Хотя можно было бы и без паузы непрерывно кликать, правда эффекта никакого не получилось, кроме загрузки машины(читай CPU). Думаю тут нет сложности.
- После клика ожидаем обновления экрана. Задачка посложнее, но все же: предполагаем худшее, т.е. модемное соединение и компьютер пяти-десяти годовалой давности. Проверку на появление нужного нам элемента на страничке можно осуществлять и без паузы, но тогда и она грузиться дольше будет и тормозить компьютер начнет очень заметно. Значит выставляем паузу между проверками в зависимости от скорости прогрузки странички: 2-5 секунд. Логика: перед автоматизацией мы кликали вручную и в голове должно было уложится, что страничка грузится ~3 сек, значит и проверку делаем каждые 3 сек. Или грузилась ~10 сек - ставим 10 сек паузы перед проверкой.

Для второго пункта также можно логически расписать цепочку действий(своих и/или программы)
Например:
- После ввода символа мы не ощущаем задержки, значит пауза не нужна(у нас сильный комп)
- После ввода символа мы ощущаем некоторую задержку, значит ставим паузу 100-500 мс для наглядности и отсечения некоторых ошибок еще на стадии разработки.(хоть она и не сильно нужна, т.к. все действия записываются в стек-список и выполняются по порядку)
Title: Re: BenchMark Test
Post by: ЦИТРИН on November 15, 2012, 07:54:21 PM
- После ввода символа мы не ощущаем задержки, значит пауза не нужна(у нас сильный комп)
- После ввода символа мы ощущаем некоторую задержку,
Хм...
Ну вот всё равно нет ясности по задержкам.
Для новичка важны 2 параметра: 1) определенность 2) работоспособность.
 Искусство доведения скрипта до идеала интересует  лишь корифея.
Новичку понятнее иметь список команд слева  и время рекомендуемой задержки справа.
 А вот увеличение , или уменьшение этого времени будут выбирать исходя из Ваших рекомендаций.
Вопрос к корифеям: -  Возможно ли создание такого списка?
Title: Re: BenchMark Test
Post by: Vint on November 24, 2012, 07:55:52 PM
На домашнем
Тип ЦП   QuadCore Intel quad Q9300  2500 MHz
Озу 4 GB
Разрешение:  1920x1080
Выдео NVIDIA GeForce GTX 460

20:46:06 ====BenchMark Test====
20:46:06 Разрешение:  1920x1080
20:46:06 Итерации:    100
20:46:06 ========Время=========
20:46:06 Мин:         89 мс
20:46:06 Сред:        90.81 мс
20:46:06 Макс:        93 мс
20:46:06 Общ:         9081 мс
20:46:06 ==Кол-во вычислений===
20:46:06 Всего:       207360000
20:46:06 За 1 мс:     22834.49
20:46:06 ======================
20:46:06 
Title: Re: BenchMark Test
Post by: keydaci on December 11, 2012, 11:48:34 AM
во, моя рабочая лошаДь ))
Pentium E2160@1.8
4GB,DDR3
Video G41 (integrated)
10:46:32 ====BenchMark Test====
10:46:32 Разрешение:  1280x1024
10:46:32 Итерации:    100
10:46:32 ========Время=========
10:46:32 Мин:         123 мс
10:46:32 Сред:        130,4 мс
10:46:32 Макс:        155 мс
10:46:32 Общ:         13040 мс
10:46:32 ==Кол-во вычислений===
10:46:32 Всего:       131072000
10:46:32 За 1 мс:     1008246
10:46:32 ======================
10:46:32
Title: Re: BenchMark Test
Post by: MIG29 on December 31, 2012, 05:14:25 AM
pentium e2140 1.6Ггц
radeon x1300

4:11:06 ====BenchMark Test====
4:11:06 Разрешение:  1680x1050
4:11:06 Итерации:    100
4:11:06 ========Время=========
4:11:06 Мин:         146 мс
4:11:06 Сред:        153.2 мс
4:11:06 Макс:        177 мс
4:11:06 Общ:         15320 мс
4:11:06 ==Кол-во вычислений===
4:11:06 Всего:       176400000
4:11:06 За 1 мс:     11514.36
4:11:06 ======================
Title: Re: BenchMark Test
Post by: rutroza on April 21, 2015, 07:57:38 PM
win7x64; intel core 2 duo E8500; nvidia geforce gtx 560ti
19:54:11 ====BenchMark Test====
19:54:11 Разрешение:  1680x1050
19:54:11 Итерации:    100
19:54:11 ========Время=========
19:54:11 Мин:         106 мс
19:54:11 Сред:        116.76 мс
19:54:11 Макс:        146 мс
19:54:11 Общ:         11676 мс
19:54:11 ==Кол-во вычислений===
19:54:11 Всего:       176400000
19:54:11 За 1 мс:     15107.9140000000007
19:54:11 ======================