我刚刚在Java上完成了一段时间我已经工作了一段时间。
我发现在某些计算机上运行良好,而在其他计算机上(通常不是特别慢),游戏的运行速度较慢,并且每秒左右都有小小的中断。不完全光滑。
由于我是制作游戏的初学者,而且可能由于我没有提前计划有关游戏的所有内容,所以游戏的代码相当长,笨拙且可能效率低下。
我想在下一个项目中改善这一点。因此,我的问题是 - 通常,常见2D游戏在计算机上放慢速度的主要原因是什么??
为了设计高效游戏,我应该最大程度地关注什么?
- 上少量的课程?(即使课程很小一个?)
- 避免重复代码?(即使是一小部分代码,例如简短的
if
语句)。 - 避免运行太多线程?
- 其他吗?
显然,上述所有内容都建议用于有效的程序。
但我想知道,游戏代码中的内容可能是,尤其节省大量的内存。
任何建议都会受到欢迎 - 有关游戏设计或更具体的编码问题。
我不知道这是否重要,但是请注意,我主要是在谈论实时游戏,使用"游戏环"不断更新游戏和dispaly。
试图提高任何程序的性能,而不仅仅是游戏时,重要的是 - 不要猜测。
如果我或任何人说"在您的收集课中"或"在您的渲染中"或"在您的内存管理中"或"它在编译器优化中",您能相信吗?简短的答案 - 不 - 因为这是一个猜测。可能是真的。可能是错误的。没人知道,在您的情况下。
说的不是猜测"使用Profiler"的人在正确的轨道上。我认为有一种更好的方法,在这里拼写。如果您需要知道为什么,我会进一步解释,但是任何程序员的困难部分是停止尝试思考,并让工具告诉您看什么。