代码之家  ›  专栏  ›  技术社区  ›  MartyIX

如何在WPF中划分图形和游戏逻辑?

wpf
  •  2
  • MartyIX  · 技术社区  · 14 年前

    我正在WPF中创建一个游戏,我想知道将游戏逻辑和图形划分到不同的线程是否明智。

    我的游戏逻辑分步骤工作(一步大约需要30毫秒)。

    恐怕锁会降低性能。

    你怎么认为?有人有这方面的经验吗?

    谢谢您!

    2 回复  |  直到 14 年前
        1
  •  1
  •   Chris Dennett    14 年前

    这方面的缺点远远超过优点(即,手动消息传递、同步问题)。不要忘记后端表示逻辑可能已经在单独的线程中执行。最有可能的是,函数已经在消息总线上排队操作,并立即返回。

        2
  •  0
  •   TomTom    14 年前

    这真的取决于你做了多少。如果你不是愚蠢的编程你的更新逻辑,狮子不是一个问题。

    通常,您会在内部使用客户机/服务器。用户界面有它自己的“渲染”模型,逻辑有它自己的非可视模型。

    您可以使用两个队列(到模型、到可视)插入状态更新(到逻辑的操作、到可视模型的UI更新)。

    然后,wpf(计时或触发wise)从队列中提取更新并更新模型,在进行过程中进行可视化更改。

    根据你所做的“游戏”,效果相当不错。我的“游戏”是一个金融交易应用程序,工作原理与此完全相同(尽管我有X个可视队列,因为多个屏幕都有自己的UI线程)。