jul*_*ian 3 java multithreading awt lag
我正在用Java编写游戏.哦,不知道,我有性能问题.我对油漆本身进行了基准测试 - 在3毫秒的顶部进行了1000次循环.游戏逻辑甚至低于这个.到现在为止还挺好.但我仍然遇到一个烦人的滞后:滚动时,缩放时,点击时.当我放大并放置更多物体时,问题变得更糟.但是仍然 - 即使我将绘画循环1000次,滞后也大致相同,所以不能这样.我尝试将循环放在一个任务中 - 仍然是相同的.我试图在涂料之间暂停任务 - 仍然是一样的.动画像丝绸一样平滑(因为帧速率稳定且高,这是有道理的).那么我究竟如何有条不紊地组织投入呢?把它们全部放在一个单独的线程中?任何输入都会非常感激!
听起来你正在使用Swing Event Dispatch Thread直接使用监听器回调,在那里进行UI更新.您应该使用命令队列,并在调用回调时将事件放在队列中,具有命令的性质,然后在主要的游戏更新循环中使用它与EDT无关.
| 归档时间: |
|
| 查看次数: |
591 次 |
| 最近记录: |