java - LinkedList 在 add() 上产生巨大的延迟

标签 java linked-list delay lag

我一直在开发一个概念验证小游戏,该游戏的背景是滚动环境(2D)。我有一个名为 roadTile 的自定义类对象,它基本上是一个 200 像素高的 block ,上面有要绘制的图片和一些物理特性。我一次将图 block 存储在 LinkedList 5 中。我有一个主循环,负责移动所有东西并检查碰撞。该循环应该每 50 毫秒执行一次(由计时器控制),它通过测量最后一次运行的长度然后从 sleep 时间中扣除它来保持固定的速率。

这通常运行良好,循环运行时间不到一毫秒,但当我启动程序时,它在前 2-7 次后“窒息”。我删除了旧的图 block ,并将新的图 block 放在列表的底部。在调用 add (new roadTile()) 时,程序会暂停 20-400 毫秒,这对于计算机来说是一千年,而且最重要的是,行为并不一致。有时工作正常有时不行。

我很不知道如何消除这个问题,有什么想法吗?

最佳答案

在开始使用图形之前,请确保缓存所有内容。这可能是您延迟的原因。

关于java - LinkedList 在 add() 上产生巨大的延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12881798/

相关文章:

c - 递归地反转链表

java - 简单的字符串比较不起作用

php - 多次刷新页面时读取文件变慢

swift - 为什么我的弹出窗口延迟了(Swift)?

java - Android 生命体征 : no data available for one of my apps

java - 两种不同算法的语句分析

c - C语言从另一个链表填充空链表

java - 键盘输入: perform request with delay between symbols

java - 同步数据库中的表 - H2 -Springboot - Maven - Flyway - Java

java - 编写太空侵略者代码,无法获得子弹消灭外星人