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

Основной раздел => Ошибки => Topic started by: Snake on February 10, 2017, 10:34:58 AM

Title: Задержки в ps2 режиме
Post by: Snake on February 10, 2017, 10:34:58 AM
Добрый день, прошу помощи в решении проблемы. Обнаружил у себя странные задержки при нажатии клавиш на клавиатуре и мыши в режиме пс2.
Начал разбираться банально написал 3 клика подряд получил задержку в ~1.5 с при выполнении, ставим 6 кликов/нажатий - получаем 3 с задержки.
Измерял при помощи $_ms, убираю пс2 - задержка пропадает. Убирал задержку в cfg файле особого эффекта не заметил.

Задержка при клике ~500 мс
Задержка при даблклике 1000 мс
Нажатие клавиши(KEYPRESS) - 200 мс

 
Title: Re: Задержки в ps2 режиме
Post by: Snake on February 10, 2017, 12:44:50 PM
Вот простой пример, клик выполняется за 350 мс
[spoiler]
#ps2_mouse



waitms(10)
$t1=$_ms
LCLICK(10,10)
$t3=$_ms
LOGWRITE($t3-$t1," ms")
halt


[/spoiler]
Title: Re: Задержки в ps2 режиме
Post by: Snake on February 10, 2017, 01:24:28 PM
да в режиме #ps2_mouse времени на клик тратится больше, это особенность эмуляции данного режима, к использованию задержек это не имеет ни малейшего отношения.
 Писать бесконечный клик в качестве примера- довольно подленько, не боитесь что  в ответ вам подложат протестировать  скрипт форматирующий винчестеры?
Хотел бы посмотреть на людей, которые  в первую очередь горячие клавиши не освоили в кликере. Любой код я посмотрю перед тем как запускать его у себя. Где я писал что к использованию задержек это имеет какое-то значение? Факт в том, что функция любого клика задерживает выполнение программы на 300 мс. И без использования потоков реализовать что-то требующее выполнение действий по четкому таймингу достаточно проблематично
Title: Re: Задержки в ps2 режиме
Post by: Snake on February 10, 2017, 01:40:44 PM
у вас странное представление о тайминге и процессах в компьютерном железе, запустите собственный код и убедитесь в том, что время в логе всегда разное и это при практически неизменных условиях, а ведь факторов в разное время влияющих на практические результаты по времени очень много. Нет желания копать старую тему на данном форуме этот вопрос ни один раз уже обсуждался.

Странное представление ? Серьезно? Можно больше конкретики? Расскажите, как мне реализовать 4 клика в секунду без потоков в режиме пс2?
Title: Re: Задержки в ps2 режиме
Post by: Snake on February 10, 2017, 03:03:19 PM
Вы запустили собственный код? можете опубликовать лог? На этом примере и разберём ваш запущенный случай.
К вопросу о серьёзности; что-то смайликов в своих сообщениях я не заметил.

Хорошо представим у меня задача: сделать дабл клик в одном месте, потом сразу в другом и нажать клавишу ввод. Всё это надо сделать меньше чем за секунду. Что у нас выходит?
[spoiler]
#ps2_keyboard
#ps2_mouse

waitms(10)

$t1=$_ms
DBLCLICK(10,10)
print($_ms-$t1," ms first double click")
waitms(10)
DBLCLICK(10,20)
print($_ms-$t1," ms second double click")
waitms(10)
KEYPRESS(#ENTER)
print($_ms-$t1," ms done")
halt


Лог:
14:57:04 789 ms first double click
14:57:05 1589 ms second double click
14:57:05 1720 ms done

Итого на выполнение трёх простейших действий у меня ушло почти две секунды
[/spoiler]
Title: Re: Задержки в ps2 режиме
Post by: Vint on February 10, 2017, 05:40:17 PM
Писать бесконечный клик в качестве примера- довольно подленько

Смех смехом, а я нарвался. До кнопки ребута  :-\ :-\ >:(

Хотел бы посмотреть на людей, которые  в первую очередь горячие клавиши не освоили в кликере. Любой код я посмотрю перед тем как запускать его у себя.

Я тоже обычно смотрю, а тут 5 строчек и HALT мелькнул и спешил. Короче не вчитался даже.
А горячие кнопки раз - и сразу не работают резко. То ли кликер другой был свёрнут, то ли у меня с #ps2 не дружит.

Слава богу редактируемая работа в Notepad++ не потерялась. Он всё не закрытое руками помнит.
Title: Re: Задержки в ps2 режиме
Post by: Snake on February 10, 2017, 05:46:55 PM
Писать бесконечный клик в качестве примера- довольно подленько

Смех смехом, а я нарвался. До кнопки ребута  :-\ :-\ >:(

Хотел бы посмотреть на людей, которые  в первую очередь горячие клавиши не освоили в кликере. Любой код я посмотрю перед тем как запускать его у себя.

Я тоже обычно смотрю, а тут 5 строчек и HALT мелькнул и спешил. Короче не вчитался даже.
А горячие кнопки раз - и сразу не работают резко. То ли кликер другой был свёрнут, то ли у меня с #ps2 не дружит.

Слава богу редактируемая работа в Notepad++ не потерялась. Он всё не закрытое руками помнит.

 :-[ Что ж прошу прощения, исправил пример во избежание казусов. 
Title: Re: Задержки в ps2 режиме
Post by: Vint on February 10, 2017, 05:58:35 PM
Я уже второй раз перезагрузился  :) ;D

Убрал цикл. Сделал предварительную задержку 500 мс. Запустил. И даже получил результат 172 мс. Вполне можно сделать 5 кликов, даже почти 6.
И... клавиатура умерла. Но мышь работала, т.к. теперь никто не вырывал у меня её из рук с офигительным периодом 10 мс. Вот почему перестали работать горячие клавиши.

Так оказывается #ps2_mouse влияет на мою клаву. Раньше вроде такого небыло.
Title: Re: Задержки в ps2 режиме
Post by: Snake on February 10, 2017, 06:02:04 PM
Я уже второй раз перезагрузился  :) ;D

Убрал цикл. Сделал предварительную задержку 500 мс. Запустил. И даже получил результат 172 мс. Вполне можно сделать 5 кликов, даже почти 6.
И... клавиатура умерла. Но мышь работала, т.к. теперь никто не вырывал у меня её из рук с офигительным периодом 10 мс. Вот почему перестали работать горячие клавиши.

Так оказывается #ps2_mouse влияет на мою клаву. Раньше вроде такого небыло.

У меня первый раз тоже задержка небольшая, поэтому и поставил бесконечный цикл - после нескольких первых кликов она становится стабильно больше 350
Title: Re: Задержки в ps2 режиме
Post by: Oraven on February 10, 2017, 09:57:22 PM
Мышь у меня USB и клики не работают, но клава тоже перестает работать.
Но у меня их две к компу подключены, одна USB и вторая через PS2 так вот ps2 повисла.
Title: Re: Задержки в ps2 режиме
Post by: Vint on February 11, 2017, 05:09:02 PM
вот и у меня PS2 повисла. Причём наглухо. Даже индикаторы не меняются капслок, скроллок и т.д. Выходит внутренний контроллер в аут.