Суббота, 23 Ноября 2024, 01:58

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Ошибка в цикле
AntiAlianKillerДата: Среда, 14 Августа 2013, 02:26 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
Имеется такой код:

For 'x' 1 to ??? =>
For 'y' 1 to ??? =>
Действия

(Цикл в цикле, обрабатывающий двухмерное изображение).
При его запуске программа вылетает - цикл слишком долго нагружает основной поток процесса, в итоге выдает ошибку.
Было решено сделать разгрузку - добавить между "For 'x' 1 to ??? =>" и "For 'y' 1 to ??? =>" стоку "Delay(10) ms" ( подождать 10 мс, перед тем как перейти на новую стоку ). Теперь ошибки нет - но появилась другая проблема - первые 10 мс работы цикла "y" не правильно обрабатывают данные, и в итоге вместо правильного вывода идет дубликат прежде обработанных данных ( типа этого:
Код
1234567890
11111234567890
11111234567890
11111234567890
11111234567890

)
Как с этим быть?


╔Искусственный интеллект - EVAbot
╠Убийственная музыка - EpicMus
╠Roguelike - Watcher of Dungeon
╠Однокнопочная стратегия - One Button Epic Battle
╠Он-лайн шутер - You Can Not win
╠Текстовый квест - TimeLess
╚Уникальный кликер - MineClick
Nick_RimerДата: Четверг, 22 Августа 2013, 10:40 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
я работал с двумерными массивами путём цикла в цикле (тем же методом, что ты показываешь), и такой фигни у меня не наблюдалось.
если ещё актуально, могу показать, как именно я это делал..


- Доброе утро, Агент Пи!
AntiAlianKillerДата: Четверг, 22 Августа 2013, 23:35 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
давай. просто в даннном случае этот цикл очень ресурсоемкий и использует внутри дополнительные условия и динамичные переменные...

╔Искусственный интеллект - EVAbot
╠Убийственная музыка - EpicMus
╠Roguelike - Watcher of Dungeon
╠Однокнопочная стратегия - One Button Epic Battle
╠Он-лайн шутер - You Can Not win
╠Текстовый квест - TimeLess
╚Уникальный кликер - MineClick
Nick_RimerДата: Понедельник, 26 Августа 2013, 10:56 | Сообщение # 4
заслуженный участник
Сейчас нет на сайте
AntiAlianKiller, так, сорри за задержку.
вот исходник.
вроде выполняется то, что ты изначально задумал..
а если это не так, и надо что-то там ещё добавить, то давай подумаем над этим.. тогда в личном порядке можешь рассказать, что там ещё за условия, я посмотрю. быть может, что всё и правда не так просто..


- Доброе утро, Агент Пи!
DimOkДата: Понедельник, 26 Августа 2013, 15:16 | Сообщение # 5
ONG studio
Сейчас нет на сайте
А вот мой исходник тык(обновил так как в прошлой версии я не заметил что изображение переворачивалось при копировании в image manipulator).

Добавлено (26.08.2013, 15:16)
---------------------------------------------
да, а вот с большими картинками беда


Активно пользуюсь Godot Engine

Сообщение отредактировал DimOk - Понедельник, 26 Августа 2013, 14:59
AntiAlianKillerДата: Воскресенье, 01 Сентября 2013, 00:43 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
Цитата (DimOk)
да, а вот с большими картинками беда


В этом вся проблема! Если-бы сущестовал способ разгрузки процессора (временное прерывание, допустим, на 10мс при переходе на каждую новую линию ), это бы решило проблему. но как я и говорил, если просто впихнуть "dalay 10 ms" - это ничем не поможет. все то, что обработается за те 10 сек ожидания смешается в кучу.


╔Искусственный интеллект - EVAbot
╠Убийственная музыка - EpicMus
╠Roguelike - Watcher of Dungeon
╠Однокнопочная стратегия - One Button Epic Battle
╠Он-лайн шутер - You Can Not win
╠Текстовый квест - TimeLess
╚Уникальный кликер - MineClick
EldrineДата: Воскресенье, 01 Сентября 2013, 13:35 | Сообщение # 7
заслуженный участник
Сейчас нет на сайте
выложи скриншот всего цикла, может чем поможем

Модели оружия для CS:S
AntiAlianKillerДата: Воскресенье, 01 Сентября 2013, 16:06 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
Вот сам цикл. Тут видно, что для каждого пикселя вызывается функция "lol".



Сама функция "lol" - очень трудная... ( Если что, она переделывает числа в формате "00-255" в "00-FF" (из 10-тичной в 16-ричную систему) 3 раза, для каждого параметра таблицы RGB соответственно)



При запуске программы с такой функцией вылетает "APPCRASH"
А в подробностях написано, что основной поток процесса оборван. ( как я понял, из-за перенагрузки )


╔Искусственный интеллект - EVAbot
╠Убийственная музыка - EpicMus
╠Roguelike - Watcher of Dungeon
╠Однокнопочная стратегия - One Button Epic Battle
╠Он-лайн шутер - You Can Not win
╠Текстовый квест - TimeLess
╚Уникальный кликер - MineClick


Сообщение отредактировал AntiAlianKiller - Воскресенье, 01 Сентября 2013, 16:08
xxxShadeДата: Понедельник, 02 Сентября 2013, 17:12 | Сообщение # 9
почетный гость
Сейчас нет на сайте
AntiAlianKiller, cделай первый цикл вручную. >Пример<
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг