top*_*dev 3 architecture performance components game-loop
我有一个组织游戏循环的想法.我对性能有些怀疑.可能有更好的做事方式.
考虑一下你有一系列游戏组件.他们都被称为在每次游戏循环迭代中做一些事情.例如:
GameData data; // shared
app.registerComponent("AI", ComponentAI(data) );
app.registerComponent("Logic", ComponentGameLogic(data) );
app.registerComponent("2d", Component2d(data) );
app.registerComponent("Menu", ComponentMenu(data) )->setActive(false);
//...
while (ok)
{
//...
app.runAllComponents();
//...
}
优点:
释疑:
嗯,这个解决方案有多好?你是否在实际项目中使用过它?
一些C++程序员对虚函数的开销有太多担忧.与函数无关,虚拟调用的开销通常可以忽略不计.布尔检查也不是很贵.
在最易于维护的代码中执行任何操作.仅在您需要时才进行优化.如果您确实发现需要优化,则消除虚拟呼叫可能不是您需要的优化.
| 归档时间: | 
 | 
| 查看次数: | 892 次 | 
| 最近记录: |