Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Добавил таймер, exe неадекватно себя ведёт.

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

1. asterka - 15 Июня, 2023 - 16:10:25 - перейти к сообщению
Привет. Скрипт грузит цп на 5-10% и занимает 300мб +-. После добавления второго таймера:

CODE:
CREATE_TIMER(2, 5055)
{
ReadText_T2(0, #Screen[0][0], #W_Kib, W_Kib.leftclient, W_Kib.topclient, 0, "D:\Проект\Скрины\Папка\Привет.sib", #Text_Sdis, #K_S, #X_S[0], #Y_S[0], #sX_S[0], #sY_S[0], #Cor_S[0], #Type_S[0], #K_Str, #Text_Str[0], #X_Str[0], #Y_Str[0], 1, 0, 0, 1, 8, 1, -1, -1, -1, 0, #Col_T0[0], 0, 0, #Kol_F0[0], 0, -1, -1, 687, 293, 1171, 581, -1, 0);
if (regexsearch(1, #P, Text_Sdis, "Привет")>0) goto a;
if (regexsearch(1, #P, Text_Sdis, "Пока")>0) goto global b;
return;

a:;
key(44);
pause(500);
return;
}


скрипт через минуту +- после запуска начинает нагружать цп на 25-30% и занимать 50mb. Появилась периодически появляющаяся ошибка out of memory.

Первый раз такое вижу. Не представляю куда копать...
2. Zireael - 15 Июня, 2023 - 17:43:21 - перейти к сообщению
 Цитата:
"D:\Проект\Скрины\Папка\Привет.sib"

Загрузка базы при каждом вызове функции приведёт к вылету.
 Цитата:
Не представляю куда копать...

Нужно всего-то внимательнее читать описание функций.
 Цитата:
loadsymbolbase
Возвращает количество символов базы
Загружать одну и ту же базу необходимо только Один раз!
3. Fintil - 19 Июня, 2023 - 04:26:43 - перейти к сообщению
Zireael , Я переделал таймер как нужно. Но проблема осталась. В итоге нашел в чем дело.
Exe запускается на виртуальной машине с малым объемом озу. Изначально exe занимает 500мб. Как только озу начинает забиваться другими программами до 90-100%, он ужимается вплоть до 18 мб. После чего иногда начинают появляться ошибки out of memory. Выделить больше памяти для виртуалки нет возможности.

Можно как нибудь ограничить минимальный объем памяти для процесса моего exe? Или возможно есть другие варианты?
4. Zireael - 19 Июня, 2023 - 04:34:43 - перейти к сообщению
 Цитата:
Изначально exe занимает 500мб. Как только озу начинает забиваться другими программами до 90-100%, он ужимается вплоть до 18 мб.

Часть программы перемещается в виртуальную память. На самом деле как было 500, так и остаётся 500, хоть и показывает 18.
Скорее всего ошибка в вашем коде, поэтому и выдаёт ошибку.
Запускайте скрипт с включённым отладчиком и смотрите на какой строке вылетает.

Powered by ExBB FM 1.0 Final