我在绘画方面遇到了一些严重的优化问题。我的代码示例如下所示:
BufferedImage img1;
synchronized(game.players){
synchronized(game.monsters){
synchronized(game.playersHealth){
synchronized(game.monstersHealth){
synchronized(game.overlays){
synchronized(game.projectiles){
img1 = game.drawAll();
}
}
}
}
}
}
game.setImage(img1);
game.repaint();
我知道这对你们大多数人来说可能看起来很可怕。问题是,我有多个包含数据(玩家、怪物等)的不同对象集,并且这段代码 ^ 在一个单独的线程上的“无限”循环中运行,该线程组织所有图像,然后告诉游戏重新画自己。我需要帮助。你们能指出我正确地做这样的事情的正确方向吗?