我想知道是否可以制作两个线程,其中一个用于处理图形和绘制对象,另一个用于更新位置和逻辑。
现在我认为会遇到的主要问题是他们会不同步?比如一个线程会先于另一个线程并且绘图或游戏更新将落后?
我想这样做主要是因为我有很多我想要处理的数组,加载每个数组并初始化它需要大约1-5秒,我有很多(每个数组由500组成)对象),所以主要的想法是当玩家移动时,下一个数组将初始化自己而不需要暂停游戏或使其变慢。
答案 0 :(得分:0)
解决此类问题的常用方法是双缓冲。一个线程使用游戏逻辑,一个线程在后台将数据绘制到缓冲区,主线程将缓冲区更新为屏幕,以及交换缓冲区。