Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Такой вопросик по loadimage

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

1. Chick - 26 Июня, 2020 - 03:53:11 - перейти к сообщению
В общем, вопрос такой.

Могу ли я создать одну переменную и в неё, непосредственно перед findimage загружать разные картинки?

Пример:
CODE:

int varik[100][100];
for(n=0;n<100;n++)
{
loadimage (#varik[0][0], "c:\picture"+format(n)+".bmp");
if (findimage(1, #varik[0][0], 0, #PosX, #PosY, 0, 0, 1870, 1030, razb, razb, razb, razb, razb, razb, perc, 1, -1)>0)
{
messagebox("Координаты изображения "+format(n)+" X: "+format(PosX)+" Y: "+format(y));
}


И будет ли код выше эффективнее в плане потребления памяти, чем этот:
CODE:
int varik[100][100][100];
for(n=0;n<100;n++)
{
loadimage (#varik[n][0][0], "c:\picture"+format(n)+".bmp");
}
for(n=0;n<100;n++)
{
if (findimage(1, #varik[n][0][0], 0, #PosX, #PosY, 0, 0, 1870, 1030, razb, razb, razb, razb, razb, razb, perc, 1, -1)>0)
{
messagebox("Координаты изображения "+format(n)+" X: "+format(PosX)+" Y: "+format(y));
}
}
2. Zireael - 26 Июня, 2020 - 04:08:33 - перейти к сообщению
1 раз загрузить картинки, потом искать.
 Цитата:
int varik[100][100][100];

4мб памяти думаю ни на что не влияет.
3. Chick - 26 Июня, 2020 - 04:19:36 - перейти к сообщению
 Zireael пишет:
1 раз загрузить картинки, потом искать.
 Цитата:
int varik[100][100][100];

4мб памяти думаю ни на что не влияет.


Это очень упрощенный пример. Мне нужно понять принцип, как правильнее конструировать скрипт.
4. Zireael - 26 Июня, 2020 - 04:33:46 - перейти к сообщению
 Цитата:
как правильнее конструировать скрипт.

 Цитата:
1 раз загрузить картинки, потом искать.
5. Chick - 26 Июня, 2020 - 04:37:42 - перейти к сообщению
 Zireael пишет:
 Цитата:
как правильнее конструировать скрипт.

 Цитата:
1 раз загрузить картинки, потом искать.

У меня кибор вылетает с out of memory от такого варианта. Я грешу на наличие полутора десятков трехмерных массивов, нужных для загрузки картинок.
Поэтому и задался вопросом - а нельзя ли упростить скрипт в плане загрузки памяти...
И в итоге - loadimage засирает память кибора или нет?
Если нет, то гораздо эффективнее будет загружать картинку непосредственно перед использованием.
6. Zireael - 26 Июня, 2020 - 04:42:38 - перейти к сообщению
 Цитата:
Я грешу на наличие полутора десятков трехмерных массивов

Размер массивов?
 Цитата:
loadimage засирает память кибора или нет?

Нет.
 Цитата:
int varik[100][100][100];

Картинки размером 100*100? Если нет, то укажите меньший размер, тогда меньше памяти будет выделено.
7. Chick - 27 Июня, 2020 - 01:56:06 - перейти к сообщению
 Zireael пишет:
Размер массивов?
[100][100][100]
 Zireael пишет:
Нет.
Спасибо, именно это я и хотел понять.
 Zireael пишет:
укажите меньший размер, тогда меньше памяти будет выделено.
Сложно заранее сориентироваться, т.к. картинки появляются по мере написания скрипта и появления новых локаций/сцен и т.д. Поэтому с запасом указал.

Но...

Поудалял и 3- и 5-мерные массивы, всё равно при загрузки в кибор скрипта аут оф мемори (причем, скрипт - это подключаемый мелкий скриптик)...
Появляются кровожадные мысли о винде... А ты думал?
И сегодня я их воплощу Насвистываю
(Добавление)
 Chick пишет:
 Zireael пишет:
Размер массивов?
[100][100][100]
 Zireael пишет:
Нет.
Спасибо, именно это я и хотел понять.
 Zireael пишет:
укажите меньший размер, тогда меньше памяти будет выделено.
Сложно заранее сориентироваться, т.к. картинки появляются по мере написания скрипта и появления новых локаций/сцен и т.д. Поэтому с запасом указал.

Но...

Поудалял и 3- и 5-мерные массивы, всё равно при загрузки в кибор скрипта аут оф мемори (причем, скрипт - это подключаемый мелкий скриптик)...
Появляются кровожадные мысли о винде... А ты думал?
И сегодня я их воплощу Насвистываю


А в целом, спасибо, Зираэль и Кибор - вы очень мне помогаете!
8. Zireael - 27 Июня, 2020 - 02:00:05 - перейти к сообщению
 Цитата:
при загрузки в кибор скрипта аут оф мемори

Значит в скрипте ошибка.
9. Chick - 27 Июня, 2020 - 09:33:37 - перейти к сообщению
 Zireael пишет:
 Цитата:
при загрузки в кибор скрипта аут оф мемори

Значит в скрипте ошибка.

Вполне возможно. И даже скорей всего. Но разобраться сложно, приходится юзать Notepad ))
Вот если бы функционал отладчика включал в себя более тщательные проверки скрипта - было бы замечательно )) Но, увы и ах, используем что есть ))
И тем не менее, вариант с динамической загрузкой картинок позволит сделать Кибор нетребовательным к ресурсам и писать скрипты практически неограниченной сложностью...
10. Zireael - 27 Июня, 2020 - 10:19:04 - перейти к сообщению
 Цитата:
Но разобраться сложно

Выкладывайте код, который приводит к вылету, подскажем что не так.
Если вылет во время работы скрипта, то запускайте отладчик, покажет на какой строке вылет.
Если при запуске скрипта, то закомментируйте часть кода, чтобы выяснить что именно приводит к вылету.
 Цитата:
вариант с динамической загрузкой картинок позволит сделать Кибор нетребовательным к ресурсам и писать скрипты практически неограниченной сложностью...

Грузите постоянно, никто ж не запрещает. А что сейчас чем-то ограничена сложность?

Powered by ExBB FM 1.0 Final