Автор Тема: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)  (Прочитано 168279 раз)

0 Пользователей и 1 Гость просматривают эту тему.

АНТИКЛАН

  • Активный участник
  • ***
  • Сообщений: 111
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #180 : Октябрь 27, 2015, 05:32:00 pm »
Потестил, действительно память утекает. Дело в HSET($HWND, 1).
У тебя в главном потоке снова и снова каждую миллисекунду происходит привязка HSET($HWND, 1)

Если это пример части скрипта то пиши так
Код: Clickermann
  1. // СКРИПТ
  2. // Author: АНТИКЛАН
  3. // Version: 1.0 (25.10.2015)
  4.  
  5. #name "NAME"   // Имя скрипта
  6.  
  7. //#include "subs.cms"
  8.  
  9. #ps2_mouse   // Включаем режим PS/2 мыши
  10. #ps2_keyboard   // Включаем режим PS/2 клавиатуры
  11.  
  12. IF($_hwnd = 0) // условие перестанет срабатывать после привязки
  13.   $HWND = WNDFIND("Блокнот", 0)   // Присвоение переменной окна значения и привязка к окну
  14.   IF($HWND > 0)
  15.      HSET($HWND, 1) // если найдено привязываемся
  16.      SETTHREAD (THREAD_1, 1) // запускаем поток      
  17.   ELSE
  18.      HINTPOPUP("Окно не найдено")
  19.      HALT // если нет, останавливаем выполнение
  20.   END_IF
  21. END_IF
  22.  
  23. WAIT(1) // в главном потоке хорошо бы написать задержку
  24.  
  25. // ПОТОК
  26. THREAD(THREAD_1,0)
  27.   KEYPRESS(#F5)
  28.   WAIT(RND(175,185))
  29. END_THREAD

Если это весь скрипт то куда проще привязаться горячими клавишами Alt+W наведя мышь на окно.
Код: Clickermann
  1. #ps2_mouse
  2. #ps2_keyboard
  3.  
  4. KEYPRESS(#F5)
  5. WAIT(RND(175,185))

Вот как! Спасибо за полезное усовершенствование. Все таки нехватка опыта у меня на лицо. ;D Надо больше общаться с программистами опытными. ;D
Скажите вот эта задержка WAIT(1) в основном потоке не будет тормозить поток THREAD_1?
« Последнее редактирование: Апрель 15, 2018, 06:37:19 pm от АНТИКЛАН »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3806
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #181 : Октябрь 27, 2015, 05:39:07 pm »
Не будет. Весь смысл потоков в этом.

Если это весь скрипт, то потоки тебе вообще не нужны.


АНТИКЛАН

  • Активный участник
  • ***
  • Сообщений: 111
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #182 : Октябрь 27, 2015, 07:14:38 pm »
А вот интересно. Почему функция HSET пожирает память? И постоянно ли она ее пожирает, или только при частом использовании...

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3685
  • Котэ
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #183 : Октябрь 27, 2015, 10:27:53 pm »
А вот интересно. Почему функция HSET пожирает память? И постоянно ли она ее пожирает, или только при частом использовании...
Ну это к Джонни вопрос, где то он не докодил. Пожирание происходит каждый раз при вызове, это видно в диспетчере задач.

АНТИКЛАН

  • Активный участник
  • ***
  • Сообщений: 111
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #184 : Октябрь 28, 2015, 03:13:46 am »
Ну это к Джонни вопрос, где то он не докодил. Пожирание происходит каждый раз при вызове, это видно в диспетчере задач.

А как вы это там увидели? Я тоже хочу посмотреть. :)
« Последнее редактирование: Апрель 15, 2018, 06:37:47 pm от АНТИКЛАН »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3806
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #185 : Октябрь 28, 2015, 02:10:50 pm »
А вот интересно. Почему функция HSET пожирает память? И постоянно ли она ее пожирает, или только при частом использовании...
У меня не жрёт. Винда XP 32.
Добиться жора так и не смог хоть потоками хоть бесконечным HSET


Oraven

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3685
  • Котэ
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #186 : Октябрь 28, 2015, 02:43:38 pm »
А вот интересно. Почему функция HSET пожирает память? И постоянно ли она ее пожирает, или только при частом использовании...
У меня не жрёт. Винда XP 32.
Добиться жора так и не смог хоть потоками хоть бесконечным HSET

Вот как это выглядит.
В скрипте одна строка
Код: Clickermann
  1. HSET(2166928,1)

Vint

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3806
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #187 : Октябрь 28, 2015, 03:02:40 pm »
 ;D Я на данные процесса смотрел. При прошлой утечке всё было видно на процессе и там утекала оперативка. А здесь прямо сразу (ну так кажется) файл подкачки.
При чём данные по процессу: память и виртуальная память, стоят на месте (колеблятся туда-сюда в малых пределах).


АНТИКЛАН

  • Активный участник
  • ***
  • Сообщений: 111
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #188 : Октябрь 29, 2015, 09:26:47 am »
включи диспетчер,  вкладка быстродействие, наблюдай онлайн Хронология использования физической памяти.   ::)

Не ну так то я тоже умею я думал там что-то более конкретное использовалось, что видно что и сколько пожирает))
« Последнее редактирование: Апрель 15, 2018, 06:40:39 pm от АНТИКЛАН »

Johnny

  • Создатель
  • Герой форума
  • *
  • Сообщений: 593
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #189 : Январь 31, 2016, 10:40:01 am »
Clickermann v4.12b

[spoiler=WhatsNew]v4.12.000 (13.01.16)
+ Интерпретатор:
  + Добавлены инструкции:
    + RADIOBOX
    + GETKEYSDOWN
    + GETDIRLIST
    + GETFILELIST
    + SETVAR
    + GETVAR
    + SCREENSHOTFIX
  + Изменены инструкции:
    + SETTHREAD
+ Прочее:
  + Исправлена ошибка со строками, содержащими символ "$"
  + Прочие оптимизации и исправления
[/spoiler]

http://rghost.net/8s6JSBVrP

Игрушечку вам принес. Самого ценного в апдейте наверное то что [возможно] удалось починить баг с символом того, что щас продают по 75 рублей.
Справка еще криво собралась, пересобрать смогу тока через неделю увы. Ну или сами как нибудь.

А ну и еще Ctrl+S прикрутил в редактор
« Последнее редактирование: Январь 31, 2016, 10:41:48 am от Johnny »

i0

  • Оплот сообщества
  • ****
  • Сообщений: 353
  • CMann 4.13.014 final, ie, presto, win7 x86, x64
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #190 : Январь 31, 2016, 12:04:54 pm »
Спасибище :)
всё вроде понятно кроме SCREENSHOTFIX

вкурил. скриншот в файл с фиксированным именем
« Последнее редактирование: Январь 31, 2016, 12:11:08 pm от i0 »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3685
  • Котэ
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #191 : Январь 31, 2016, 12:33:50 pm »
Обновил меню команд и шаблонов.

Почему бы не добавить в константы NUM клавиши? Ну и в справку конечно.

#NUM0  96
#NUM1  97
#NUM2  98
#NUM3  99
#NUM4  100
#NUM5  101
#NUM6  102
#NUM7  103
#NUM8  104
#NUM9  105

В справке недостает указателей новых функций и пример GETKEYSDOWN не дописан.

И что на счет не задокументированных функций ABS и PXLREPLACE по моему они вполне рабочие.
Код: Clickermann
  1. $c = -12
  2. $a = ABS($c)
  3. LOGWRITE ($a)
  4.  
  5. HALT
  6.  
  7. GETSCREEN
  8. PXLREPLACE(0,0, $_xmax,$_ymax, 255, 16777215) // заменяет красный цвет на белый
  9. SCREENSHOT
  10. HALT
« Последнее редактирование: Январь 31, 2016, 12:54:47 pm от Oraven »

Золотой

  • Оплот сообщества
  • ****
  • Сообщений: 312
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #192 : Январь 31, 2016, 06:54:19 pm »

пример использования GETKEYSDOWN
Код: Clickermann
  1. // только для Clickermann v4.12b
  2. GETKEYSDOWN($arr)
  3. IF($arr[0]!0) // проверяем значение первого элемента
  4.   $var=ARRSIZE($arr)//
  5.   FOR($a=0,$a<$var)
  6.      logwrite($arr[$a]) // печатаем, что нажато
  7.   END_CYC
  8.   $b= $arr[0]
  9.   WHILE(ISKEYDOWN($b)=1)//  задержка пока клавиши ещё нажаты
  10.      WAITMS(10)
  11.   END_CYC
  12.   //LOGWRITE (" ") // разделитель
  13. ELSE
  14.   WAITMS(150)// регулируемая задержка,при сильном увеличении возможны пропуски быстрых нажатий, при сильном уменьшении пропускается часть клавиш из сочетаний.
  15. END_IF
  16.  
Коды клавиш в буквенный вид не переводятся, вывод результата только в лог, чтоб не облегчать жизнь ламерам. ;)
« Последнее редактирование: Январь 31, 2016, 07:02:10 pm от Золотой »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3685
  • Котэ
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #193 : Январь 31, 2016, 08:07:19 pm »
Тоже пример
Код: Clickermann
  1. // только для Clickermann v4.12b
  2. GETKEYSDOWN($arr)
  3. IF(ARRSIZE($arr)>0)
  4.   FOR($a=0,$a<ARRSIZE($arr))
  5.      LOGWRITE($arr[$a]) // вывод в лог нажатых клавиш
  6.   END_CYC
  7.   WHILE(ARRSIZE($arr) > 0)
  8.      WAITMS(20)
  9.      GETKEYSDOWN($arr)
  10.   END_CYC
  11. ELSE
  12.   WAITMS(20)
  13. END_IF

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3685
  • Котэ
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #194 : Январь 31, 2016, 08:37:33 pm »
Пример из БАГОВ
Код: Clickermann
  1. print ("Строки в переменных")
  2. $str1 = "/SomeString 123"
  3. $str2 = "/SomeString -123"
  4.  
  5. print ($str1)
  6. print ($str2)
  7. print ("")
  8.  
  9. print ("Строки в массиве")
  10. arrpush ($mystr, "/SomeString 123")
  11. arrpush ($mystr, "/SomeString -123") // <<< проблема здесь
  12.  
  13. for($i = 0, $i < 2)
  14.   print ($mystr[$i])
  15. end_cyc
  16.  
  17. halt

Лог:
21:35:10 Строки в переменных
21:35:10 /SomeString 123
21:35:10 /SomeString -123
21:35:10
21:35:10 Строки в массиве
21:35:10 /SomeString 123
21:35:11 -123