我应该在一个分屏游戏中给每个玩家分配一个线程吗?

我正在考虑使用SDL和OpenGL制作多人游戏版本的游戏。 这将是一个分屏游戏。

你认为这是一个好主意,让屏幕(游戏会话)的每个部分由不同的线程处理? 除了暂停和游戏结束/胜利事件之外,这些线程将没有数据共享。 由于单人游戏版本已经写好了,所以我认为可以通过这种方式来节省大量的开发时间。

你认为这是一个好主意,让屏幕(游戏会话)的每个部分由不同的线程处理?

说到渲染:不!

OpenGL和multithreading混合不好。 将所有OpenGL操作保持为一个单独的线程是最好的做法。

我认为通过这种方式可以节省大量的开发时间。

如果单线程解决scheme符合您的性能需求,我敢肯定,使用多个线程不会节省您的开发时间。

如果你得出结论,你需要multithreading,考虑做一个线程池 。 以下是关于游戏multithreading的一个很好的讨论。

您也可能对http://gamedev.stackexchange.com感兴趣,因为这个问题显然与游戏开发有关。

,你不应该。


没有理由为什么你会想要线程。 线程有两种使用情况:性能和asynchronous性。 性能不是问题,没有理由asynchronous。

线程不要掉以轻心,不要简化任何事情。

Splitscreen多人游戏只需要你编码一些东西:每个玩家的相机,每个玩家的input管理和每个玩家的屏幕效果分开。 此外,人工智能或其他游戏元素需要知道,有多个玩家。 与编写线程解决scheme相比,这是微不足道的。