什么编码问题对于破坏游戏性能有重要意义?

时间:2014-01-24 15:04:12

标签: java performance memory-efficient

我刚刚用Java完成了一个2D游戏,我已经有一段时间了。

我发现在某些计算机上它运行良好,而在其他计算机上(一般来说速度不是特别慢),游戏运行速度稍慢,并且每隔一秒左右就会有轻微的中断。不完全顺利。

由于我是制作游戏的初学者,并且可能因为我没有提前计划游戏的所有内容,所以游戏的代码相当长,笨拙且可能效率低下。

我希望在我的下一个项目中改进这一点。所以我的问题是 - 一般来说,普通2D游戏在计算机上放慢速度的主要原因是什么?

下次,为了设计高效游戏,我应该最关注什么?

  • 制作少量课程? (即使班级很小 的吗?)
  • 避免重复代码? (即使是小部分代码,例如 简短的if陈述。
  • 避免运行太多线程?
  • 还有别的吗?

显然,以上所有内容都是推荐用于高效计划的。

但我想知道,游戏代码中的内容可能 尤其 对于制作有效的应用程序非常重要,而且重要性不高且不会节省大量内存。

欢迎提出任何建议 - 可能涉及游戏设计或更具体的编码问题。

我不知道这是否重要,但请注意,我主要谈论的是实时游戏,使用不断更新游戏和显示的“游戏循环”。

1 个答案:

答案 0 :(得分:2)

尝试提高任何程序(不仅仅是游戏)的性能时,重要的是 - 不要猜测

如果我或任何人说“它在您的收藏类中”,或“它在您的渲染中”,或“它在您的内存管理中”,或“它在您的编译器优化中”,您能相信它吗? 简短回答 - 不 - 因为这是一个猜测。 这可能是真的。这可能是错误的。没人知道,在你的情况下。

而不是猜测“使用探查器”的人是在正确的轨道上。 在我看来,有一种更好的方法,spelled out here。 如果你需要知道原因,我会进一步解释,但对于任何程序员来说,困难的部分是停止尝试思考它,并让工具告诉你要看什么。