Zireael |
Отправлено: 22 Апреля, 2020 - 12:28:12
|
Эксперт
Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: кибор в памяти занимает УЖЕ 1,5гб
Это же не в собранном exe?
Цитата: оптимизация кода вручную.
Код с визуального редактора не предназначен для редактирования.
Цитата: Как вообще уменьшить код по размеру?)
Писать код без визуального редактора. |
|
|
10970 |
Отправлено: 24 Апреля, 2020 - 07:55:54
|
Специалист
Покинул форум
Сообщений всего: 245
Дата рег-ции: Июнь 2019
Откуда: Россия
Репутация: 0
|
итак на предыдущий вопрос поступило много ответов)) но я ни чего не понял. (сарказм)
Возникла проблема.
На ноуте где я в общем то и делаю свой скрипт все выполняется отлично. Но при переносе на другой комп скрипт начинает тормозить со страшной силой.
Например паузы которые задуманы как 1 секунда начинают выполнятся как 20 секунд. Поиск картинок заторможен до невозможности.при чем настройки игровые естественно выставлены одинаковыми..цветность и тд.
В чем может быть проблема?
До этого, на этих машинах стоял другой бот, и выполнялся он точно так же как и на основном ноуте. То есть нет ни каких задержек. Это проявляется только на моем скрипте.
(Добавление)
Nikanr пишет: Единственный пока-что выход - оптимизация кода вручную. По поводу out of memory, надо смотреть код через отладчик, так ничего сказать невозможно
кстати по поводу ошибки памяти я выяснил. Это возникает всегда когда я неправильно задаю параметры поиска картинок. То есть например обозначаю переменную (две) куда при нахождении записываются записываются верхний левый угол картинки. А потом в след действии например опять поиск другой уже картинки (типа логики если найдена первая и вторая картинка то переместить мышь туда то) задаются параметры переменной + добавляются пиксели влево вправо и тд, для рандомности. И вот когда неправильно указана переменная, он начинает поиск в несуществующей части экрана, естессно возникает ошибка памяти.
(Добавление)
Zireael пишет: Цитата: кибор в памяти занимает УЖЕ 1,5гб
Это же не в собранном exe?
Цитата: оптимизация кода вручную.
Код с визуального редактора не предназначен для редактирования.
Цитата: Как вообще уменьшить код по размеру?)
Писать код без визуального редактора.
в первом я ошибся, прошу прощения, там всего 1,5мегабайт.
Код exe занимает в общем 5,1мб.
без визуального редактора писать не получится, потому что для этого мне надо года полтора учить язык программирования. Иначе я не сидел бы у вас на форуме и не писал глупые вопросы.
(Добавление)
Вот столько уже там всяких действий, не знаю много это или мало, но для моего (пока девственного мозга в програмерстве) это много))
так а че картинка не добавилась то?
http://prntscr.com/s50ozj(Отредактировано автором: 24 Апреля, 2020 - 08:10:36) |
|
|
10970 |
Отправлено: 24 Апреля, 2020 - 13:43:09
|
Специалист
Покинул форум
Сообщений всего: 245
Дата рег-ции: Июнь 2019
Откуда: Россия
Репутация: 0
|
Zireael пишет: Цитата: Поиск картинок заторможен до невозможности.при чем настройки игровые естественно выставлены одинаковыми..цветность и тд.
Картинки могут отличаться на разных пк, незначительное отклонение в цвете, добавляйте разбежность. Проверять можно не весь скрипт, а сделать поиск картинки и посмотреть будет ли она нормально находить на разных пк. Точность поиска лучше не снижать, будет медленно искать, особенно если область поиска большая.
Да это ценный совет. Вместе с этим пришла в голову мысль что не плохо бы в начале скрипта сделать поиск всех статичных обьектов по игре, и обьявить их переменные.Это снижает количество поисков по самому скрипту, плюс уменьшает время работы скрипта. Да и поле поиска очередной не статичной картинки существенно можно снизить.
Еще такой вопрос. Скрипт начинается с моального окна где задаются некие параметры. Можно ли прямо в этом блоке указать поиск этих статичных обьектов,и обьявить переменные? Как правильно обьявляются переменные? В смысле каким знаком должна заканчиваться переменная? И еще, в стартовом блоке пуск возможно ли сделать это обьявление? и какой синтаксис в этом блоке должен быть?
Плиз. |
|
|
Zireael |
Отправлено: 24 Апреля, 2020 - 13:56:00
|
Эксперт
Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: Можно ли прямо в этом блоке указать поиск этих статичных обьектов,и обьявить переменные?
Указать можно, добавляйте галки/список. Объявить нельзя, только в скрипте, через диалог можно присваивать и менять значение переменных.
Цитата: в стартовом блоке пуск возможно ли сделать это обьявление? и какой синтаксис в этом блоке должен быть?
Если получить код, то получится:
CODE:int x=1, y=10, z;
string Text="qwerty"; |
|
|
10970 |
Отправлено: 24 Апреля, 2020 - 14:00:52
|
Специалист
Покинул форум
Сообщений всего: 245
Дата рег-ции: Июнь 2019
Откуда: Россия
Репутация: 0
|
Zireael пишет: Цитата: Можно ли прямо в этом блоке указать поиск этих статичных обьектов,и обьявить переменные?
Указать можно, добавляйте галки/список. Объявить нельзя, только в скрипте, через диалог можно присваивать и менять значение переменных.
Цитата: в стартовом блоке пуск возможно ли сделать это обьявление? и какой синтаксис в этом блоке должен быть?
Если получить код, то получится:
CODE:int x=1, y=10, z;
string Text="qwerty";
Спасибо, буду пробовать. Но надо было раньше это делать(( сейчас перелопачивать весь текст буду до вечера.
(Добавление)
а, и сразу вопрос еще. Пока не забыл, и пригодится сейчас для переделки. Как правильно, и можно ли задать переменную на картинку которую надо отыскать.
То есть стандартно, в модальном окне заданы точки входа, а,б,с. (например). Далее выполняется блок в зависимости от выбранных этих точек, но эти блоки в общемто одинаковые абсолютно, разница только в одной картинке. Если упростить то примерно та.
Выбираем что собирать, картошка,капуста,морковка. Выполнение как собирать одинаковое, а вот поиск картинки разный.
У меня в данный момент сделано 6 отдельных блоков, и все они разнятся только в поиске одной единственной картинки.
Я так понимаю можно упростить и сделать блок всего ОДИН, а вместо поиска картинки вбивать какую то переменную.
Подскажите плиз как это реализовать? |
|
|
Zireael |
Отправлено: 24 Апреля, 2020 - 14:32:45
|
Эксперт
Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: можно упростить и сделать блок всего ОДИН, а вместо поиска картинки вбивать какую то переменную.
CODE:// загрузка картинок
int Image_0[99][99];
int Image_1[99][99];
int Image_2[99][99];
loadimage (#Image_0[0][0], "D:\Kibor2\картошка.bmp");
loadimage (#Image_1[0][0], "D:\Kibor2\капуста.bmp");
loadimage (#Image_2[0][0], "D:\Kibor2\морковка.bmp");
// вызов функции поиска, передавать указатель на картинку для поиска
FindImage(#Image_0[0][0]); // искать картошку
FindImage(#Image_2[0][0]); // искать морковку
function FindImage(int #image)
{
int PosX, PosY;
if(findimage(1, #image[0][0], -1, #PosX, #PosY, 0, 0, 1920, 1080, -1))
{
messagebox("Найдено");
mousemove(PosX, PosY);
}
else messagebox("Не найдено");
} |
|
|
|