Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Kibor грузит процессор (Не отвечает)

Страниц (1): [1]
 

1. Jerico - 19 Июля, 2021 - 03:38:06 - перейти к сообщению
Доброго времени!
Кибор в настроен на распознавание текста, суммировании найденных чисел и вывода сообщения.
В процессе работы Кибор сильно грузит процессор - до 40%. Состояние процесса в диспетчере задач: Не отвечает. Из-за этого распознавание теста занимает до 20 секунд.
Подскажите, что именно в коде грузит процессор и как этого можно избежать.
Спасибо.

Код:
CODE:

m_KIB1:
string Text_w[51];
string Text;
string User_Name[51];
int User_X[51];
int User_Y[51];
int Kml_User=0;

sleep(1000);
loadsymbolbase ("C:\Users\Pavel Ivanov\Desktop\kibor_set\basetext.sib");
pause(50);

int k=readtext (NUM | RU | MARK, #Text_w[0], 40, -1, -1, -1, -1, -1, -1, 0, 50, 942, 602, 1075, 693, -1);

for (int n=0; n<k; n++)
{
if (Text_w[n]!="")
{
if (regexsearch(1, #Text, Text_w[n], "Сила крит. удар +")==1)
{
if (regexsearch(1, #User_Name[Kml_User], Text_w[n], "\d+")==1)
{
User_X[Kml_User]=symbolxpos(n, 0);
User_Y[Kml_User]=symbolypos(n, 0);
Kml_User++;
}
}
}
}

sleep(1000);
int summa = 0;
for (n=0; n<Kml_User; n++)
{
summa = summa + formatsn(User_Name[n]);
textout(n, 912+User_X[n], 590+User_Y[n]+5, User_Name[n], 0);
}
sleep(1000);

if (summa>20) goto m_KIB2;
else goto m_KIB1;

m_KIB2: pause(50);

keydown(17);
pause(100);
key(123);
pause(100);
keyup(17);
pause(100);
mousemove(100, 100)

beep(1000, 500);
messagebox(summa);

2. Zireael - 19 Июля, 2021 - 03:43:23 - перейти к сообщению
Базу символов нужно загружать 1 раз.
 Цитата:
m_KIB1:

Метку поставить перед int k=readtext..
3. Jerico - 19 Июля, 2021 - 04:03:19 - перейти к сообщению
 Zireael пишет:
Базу символов нужно загружать 1 раз.
 Цитата:
m_KIB1:

Метку поставить перед int k=readtext..

Я пробовал. тогда считает неправильно. Вместо 19 считает 38.
[url=https://c.radikal.ru/c32/2107/cb/98cc10107597.jpg]

Тогда я сделал так:
CODE:

loadsymbolbase ("C:\Users\Pavel Ivanov\Desktop\kibor_set\basetext.sib");
m_KIB1:
string Text_w[51];
string Text;
string User_Name[51];
int User_X[51];
int User_Y[51];
int Kml_User=0;

sleep(1000);
pause(50);

int k=readtext ........


Стало чуть лучше, но не совсем. И я не уверен, что так правильно.
4. Zireael - 19 Июля, 2021 - 04:06:57 - перейти к сообщению
 Цитата:
Вместо 19 считает 38.

CODE:
m_KIB1:
Kml_User=0;
int k=readtext ........
5. Jerico - 19 Июля, 2021 - 04:18:42 - перейти к сообщению
 Zireael пишет:
CODE:
m_KIB1:
Kml_User=0;
int k=readtext ........

Помогло. Спасибо.
Все равно процессор периодически грузит до 35% и "Не отвечает" Кибор.
Что-то еще можно сделать? Паузы увеличить?
6. Zireael - 19 Июля, 2021 - 04:29:53 - перейти к сообщению
 Цитата:
Что-то еще можно сделать?

Надо смотреть что именно долго выполняется. Возможно неправильно подобраны настройки для readtext и распознаётся много шума. При включенном интеллекте он будет долго обрабатывать распознанный текст.
Проверить время распознавания можно так:
CODE:
int t = gettime();
int k=readtext..
messagebox("Затрачено времени: "+format(gettime()-t));
7. Jerico - 19 Июля, 2021 - 10:21:49 - перейти к сообщению
 Zireael пишет:
Надо смотреть что именно долго выполняется. Возможно неправильно подобраны настройки для readtext и распознаётся много шума. При включенном интеллекте он будет долго обрабатывать распознанный текст.


Без интеллектуального распознавания теста - текст не распознает.
Время на распознавание 2 сек. при этом 1 секунда - слип.
При однократном воспроизведении все хорошо работает. Процессор грузится при зацикливании.
Я не могу понять как задать цвет фона и цвет текста. Он всегда одинаковый. Но во вкладке графика-Подбор параметров распознавания текста не активно окно выбора цвета фона и текста.

Вручную я не допер.

От автора:
Распознавание по цвету текста и фона (Отобразить)


Как это впаять в мой код?
15707648 цвет текста
1118480 цвет фона

Разбежность соответственно присутствует.
8. Zireael - 19 Июля, 2021 - 18:36:51 - перейти к сообщению
 Цитата:
Я не могу понять как задать цвет фона и цвет текста.

Клик правой кнопкой мыши по нужному цвету, появится меню.
9. Jerico - 20 Июля, 2021 - 09:57:50 - перейти к сообщению
 Zireael пишет:
Клик правой кнопкой мыши по нужному цвету, появится меню.

Zireael, спасибо большое за разъяснения. Нашел выход в следующем: оставил галочку "Интеллектуального распознавания теста" параметр на 0. Текст распознает. Загрузку процессора можно калибровать увеличением и уменьшением пауз и sleep. Сейчас Кибор грузит процессор на 12-18%. Сама игра на 30%. Состояние "Не отвечает" в диспетчере задач пропало. Для меня приемлемо. За подсказки еще раз спасибо!

Powered by ExBB FM 1.0 Final