Author Topic: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)  (Read 302482 times)

0 Members and 16 Guests are viewing this topic.

АНТИКЛАН

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

Если это пример части скрипта то пиши так
Code: (clickermann) [Select]
// СКРИПТ
// Author: АНТИКЛАН
// Version: 1.0 (25.10.2015)

#name "NAME"   // Имя скрипта

//#include "subs.cms"

#ps2_mouse   // Включаем режим PS/2 мыши
#ps2_keyboard   // Включаем режим PS/2 клавиатуры

IF($_hwnd = 0) // условие перестанет срабатывать после привязки
   $HWND = WNDFIND("Блокнот", 0)   // Присвоение переменной окна значения и привязка к окну
   IF($HWND > 0)
      HSET($HWND, 1) // если найдено привязываемся
      SETTHREAD (THREAD_1, 1) // запускаем поток       
   ELSE
      HINTPOPUP("Окно не найдено")
      HALT // если нет, останавливаем выполнение
   END_IF
END_IF

WAIT(1) // в главном потоке хорошо бы написать задержку

// ПОТОК
THREAD(THREAD_1,0)
   KEYPRESS(#F5)
   WAIT(RND(175,185))
END_THREAD

Если это весь скрипт то куда проще привязаться горячими клавишами Alt+W наведя мышь на окно.
Code: (clickermann) [Select]
#ps2_mouse
#ps2_keyboard

KEYPRESS(#F5)
WAIT(RND(175,185))

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

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #181 on: October 27, 2015, 05:39:07 PM »
Не будет. Весь смысл потоков в этом.

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


АНТИКЛАН

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

Oraven

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

АНТИКЛАН

  • Активный участник
  • ***
  • Posts: 111
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #184 on: October 28, 2015, 03:13:46 AM »
Ну это к Джонни вопрос, где то он не докодил. Пожирание происходит каждый раз при вызове, это видно в диспетчере задач.

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

Vint

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


Oraven

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

Вот как это выглядит.
В скрипте одна строка
Code: (clickermann) [Select]
HSET(2166928,1)

Vint

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


АНТИКЛАН

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

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

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #189 on: January 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 прикрутил в редактор
« Last Edit: January 31, 2016, 10:41:48 AM by Johnny »

i0

  • Оплот сообщества
  • ****
  • Posts: 353
  • CMann 4.13.014 final, ie, presto, win7 x86, x64
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #190 on: January 31, 2016, 12:04:54 PM »
Спасибище :)
всё вроде понятно кроме SCREENSHOTFIX

вкурил. скриншот в файл с фиксированным именем
« Last Edit: January 31, 2016, 12:11:08 PM by i0 »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #191 on: January 31, 2016, 12:33:50 PM »
Обновил меню команд и шаблонов.

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

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

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

И что на счет не задокументированных функций ABS и PXLREPLACE по моему они вполне рабочие.
Code: (clickermann) [Select]
$c = -12
$a = ABS($c)
LOGWRITE ($a)

HALT

GETSCREEN
PXLREPLACE(0,0, $_xmax,$_ymax, 255, 16777215) // заменяет красный цвет на белый
SCREENSHOT
HALT
« Last Edit: January 31, 2016, 12:54:47 PM by Oraven »

Золотой

  • Оплот сообщества
  • ****
  • Posts: 312
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #192 on: January 31, 2016, 06:54:19 PM »

пример использования GETKEYSDOWN
Code: (clickermann) [Select]
// только для Clickermann v4.12b
GETKEYSDOWN($arr)
IF($arr[0]!0) // проверяем значение первого элемента
   $var=ARRSIZE($arr)//
   FOR($a=0,$a<$var)
      logwrite($arr[$a]) // печатаем, что нажато
   END_CYC
   $b= $arr[0]
   WHILE(ISKEYDOWN($b)=1)//  задержка пока клавиши ещё нажаты
      WAITMS(10)
   END_CYC
   //LOGWRITE (" ") // разделитель
ELSE
   WAITMS(150)// регулируемая задержка,при сильном увеличении возможны пропуски быстрых нажатий, при сильном уменьшении пропускается часть клавиш из сочетаний.
END_IF
Коды клавиш в буквенный вид не переводятся, вывод результата только в лог, чтоб не облегчать жизнь ламерам. ;)
« Last Edit: January 31, 2016, 07:02:10 PM by Золотой »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #193 on: January 31, 2016, 08:07:19 PM »
Тоже пример
Code: (clickermann) [Select]
// только для Clickermann v4.12b
GETKEYSDOWN($arr)
IF(ARRSIZE($arr)>0)
   FOR($a=0,$a<ARRSIZE($arr))
      LOGWRITE($arr[$a]) // вывод в лог нажатых клавиш
   END_CYC
   WHILE(ARRSIZE($arr) > 0)
      WAITMS(20)
      GETKEYSDOWN($arr)
   END_CYC
ELSE
   WAITMS(20)
END_IF

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #194 on: January 31, 2016, 08:37:33 PM »
Пример из БАГОВ
Code: (clickermann) [Select]
print ("Строки в переменных")
$str1 = "/SomeString 123"
$str2 = "/SomeString -123"

print ($str1)
print ($str2)
print ("")

print ("Строки в массиве")
arrpush ($mystr, "/SomeString 123")
arrpush ($mystr, "/SomeString -123") // <<< проблема здесь

for($i = 0, $i < 2)
   print ($mystr[$i])
end_cyc

halt

Лог:
Code: [Select]
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