Полезное

Мы Вконтакте

Discord канал

#
Модератор: icms
Аватара пользователя
Пользователь
Сообщения: 110
Смотрю я на реализацию и вижу вот что:
1) Во-первых, видно, почему сигнал на вход "Break" должен прийти из самого тела цикла, иначе (т.к. [насколько я знаю] блупринты выполняются в режиме однопоточного исполняющего сигнала [execution wire]) сигнал этот, однажды попав в цикл, будет бегать по его кольцу, забыв обо всех остальных его потребителях (включая сторонний возбудитель сигнала "Break").

2) Но вот, что заинтересовало: видите блок Branch справа, тупо пересылающий исполнительный сигнал насквозь себя? Похоже, что решение, нырять ли по-новой в тело цикла принималось раньше тут, но потом выяснилось, что возвращаемый индекс в таком случае указывает на последний элемент, для которого цикл выполнился, а нужно было сделать так, чтобы возвращался индекс первого элемента, для которого тело цикла не выполнилось. поэтому проверку перенесли после инкрементации переменной индекса. Но старый Branch-блок почему-то оставили. Или есть какой-то скрытый от меня смысл его присутствия?

Не знаю, может итоговый код оптимизируется, нивелируя эту лишнюю проверку условия, но если нет, то это доп.задержка в исполнении каждой итерации цикла.

Как считаете?

Изображение


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница