Прытков Саша писал(а):
Flakky писал(а):
Так что оптимизация кода это очень важно. Особенно учитывая то, что блупринты медленнее раз в 10 обычного кода.
смотря какого кода, если этот "обычный" код будет типа как от меня, то не факт))
я думаю стандартные ноды работают не медленнее чем скрипты c++, чем они по сути и являются, другое дело нагружает систему компоненты акторов, например тот же character movement содержит в себе кучу переменных флоат, как и другие компоненты, вот эти самые компоненты и загружают систему сильно, также сильно загружают систему мощные скрипты на event tice, или кривые. С event tic не шучу не разу, только когда 10 раз убежусь что без него никак, использую его. Для меня лучше будет отказаться от реализации какой то идеи, чем криво вешать ее на евент тик.
Открою секрет) В во многих нодах тоже внутри содержатся переменные, несколько функций и ещё много всего. Грубо говоря, в одной ноде может быть 10 функций, которые служат для корректного вывода всех выходных данных. И при вызове нода, внутри кода вызывается все эти 10 функций для того, что бы эта нода отработала свой функционал, даже если часть из этого фунуционала не используется. И может быть не 10 функций, а 20, 30, 50, 100. Зависит от функций.. Например функция linetrace. Для вас просто функция, но внутри наверняка не один цикл, особенно в MultiLinetrace. Более того, куча проверок и функций проверки данных о столкновении и объекте, с которым столкнулся трейс. На каждый вывод (которых в трейсе очень много из-за структуры Hit) наверняка есть функция своя внутри. Все это очень ресурсоемко, если сравнивать с обычным кодом.
Именно поэтому блупринты гораздо медленнее чем С++. А не этот самый компонент, который сам написан на С++ и использует только те функции, которые ему нужны. Если воссоздать такой компонент на блупринтах, думаю, что игра выше 30фпс не выдаст :D
Просто вы видите блок как простую функцию, которая срабатывает мгновенно, и я тоже их так же видел по началу. Но со временем приходит понимание того, как это все может работать изнутри, когда сами начнете писать свои функции и вообще поймете принцип программирования.
_________________
Просьба, не писать вопросы по движку в ЛС. Я не единственный, кто знает UE4, и поэтому пишите на форум или в группу.