用于更新游戏的两个主题?一个用于图形,一个用于游戏逻辑?

时间:2013-05-29 16:50:19

标签: java android arrays multithreading synchronization

我想知道是否可以制作两个线程,其中一个用于处理图形和绘制对象,另一个用于更新位置和逻辑。

现在我认为会遇到的主要问题是他们会不同步?比如一个线程会先于另一个线程并且绘图或游戏更新将落后?

我想这样做主要是因为我有很多我想要处理的数组,加载每个数组并初始化它需要大约1-5秒,我有很多(每个数组由500组成)对象),所以主要的想法是当玩家移动时,下一个数组将初始化自己而不需要暂停游戏或使其变慢。

1 个答案:

答案 0 :(得分:0)

解决此类问题的常用方法是双缓冲。一个线程使用游戏逻辑,一个线程在后台将数据绘制到缓冲区,主线程将缓冲区更新为屏幕,以及交换缓冲区。