我是游戏开发者,因此表现对我来说非常重要。 我的简单问题:
我每帧都运行很多检查(按钮点击,碰撞等),但我不想把所有内容放在一个函数中,因此我会将它们分成其他函数并调用它们: / p>
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
}
每帧的函数调用是否会对性能产生影响?(未内联) 显然,第二个版本更具可读性。
答案 0 :(得分:0)
如果没有按值传递任何复杂对象,则调用多个函数而不是将所有代码放在一个函数中的开销应该可以忽略不计(例如, 把函数参数放在堆栈顶部,为返回类型添加空格,跳转到被调用函数代码的开头)
答案 1 :(得分:0)
你不能肯定地说,特别是编译器可以自动内联小函数。唯一可以确定的方法是使用分析器并比较两种方案。