2

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

现在我认为会发生的主要问题是它们会不同步?就像一个线程会领先于另一个线程,而绘图或游戏更新会落后?

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

4

1 回答 1

0

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

于 2013-05-29T16:58:36.713 回答