C#,很少有很多具有顺序逻辑的任务,或者很多没有几个顺序逻辑的任务?

时间:2018-08-18 08:58:48

标签: c# task

我在服务器游戏循环上实现(处理滴答率)。

在服务器中,我们将有很多空间。目标是获得最高性能。 (最低的内存消耗,最低的CPU,较高的房间可用性)。

但是我要在选项之间做出决定。

  • 具有多个房间的单个更新循环。 (使用任务和延迟)这将使多个逻辑在单个游戏循环中依次完成

  • 具有多个房间的单个更新循环。 (使用自我管理线程)并在每个内核中运行每个线程。

  • 每个房间的单个游戏循环。 (使用任务和延迟)这将使并发完成的每个房间都有逻辑。

我应该选择什么选项以及如何获得最佳性能

2 个答案:

答案 0 :(得分:1)

说实话,唯一的答案是

  • 您只需尝试全部三个(以及更多)并测试数字。

尝试您说的三种不同方法非常简单。

实际上,在某些系统中:

  • 您只需通过三种方式完成操作,并且

  • 系统在有负载的情况下运行,只会测试哪个系统最有效,然后更改为该系统。

答案 1 :(得分:0)

这取决于房间的任务。当这是一个很小的任务并且房间数很大时,每个房间的单独线程只会增加开销。