Я разработчик игры, поэтому производительность для меня очень важна. Мой простой вопрос:Функциональные вызовы функций за кадр
У меня есть много проверок (щелчков кнопок, коллизий и т. Д.), Выполняемых за кадр, но я не хочу ставить все в одну функцию, поэтому я бы разделил их на другие функции и просто называть их:
void Tick()
{
//Check 1 ..... lots of code
//Check 2 ...... lots of code
//Check 3 ..... lots of code
}
в
void Tick()
{
funcCheck1();
funcCheck2();
funcCheck3();
}
void funcCheck1()
{
//check1 lots of code
}
void funcCheck2()
{
//check2 lots of code
}
void funcCheck3()
{
//check3 lots of code
}
ли вызов функции для каждого кадра имеет какое-либо влияние на производительность (не встраиваемой) Очевидно, что второй вариант гораздо более удобным для чтения?.
Почему бы вам не рассказать об этом и узнать? – user657267
Накладные расходы на вызов функции над работой в функции могут быть существенными, если функция ДЕЙСТВИТЕЛЬНО тривиальна, но в большинстве случаев это не так. Единственный способ ДЕЙСТВИТЕЛЬНО выяснить, однако, - измерить разницу. Я всегда начинаю с предположения, что вызовы функций являются «бесплатными», и если профилирование позже говорит мне, что это проблема, убедитесь, что они так или иначе связаны. –
Если вы хотите цифры, измерьте. –