如何在C#中将UI与渲染分开?

时间:2014-03-15 16:59:35

标签: c# wpf loops game-loop

我试图在C#中编写游戏循环,但我无法从另一个线程访问WPF对象......

基本上这就是我想要的循环:

循环:

读取输入 更新游戏状态 渲染到缓冲区 将缓冲区发送到图形卡 在屏幕上显示渲染的图像 重复。

最好的方法是什么? 我可以使用Dispatcher.Invoke执行此操作,但我不认为Dispatcher.Invoke是针对普通用户界面制作的。

1 个答案:

答案 0 :(得分:2)

  

我可以使用Dispatcher.Invoke执行此操作,但我不认为Dispatcher.Invoke是为   普通的用户界面。

讽刺问题 - 您认为它还有什么用途?它完全是为了这个 - 所以非UI线程可以调用回UI线程来更新UI。这正是EVER调用它的唯一用途 - 如果我不调用UI线程,为什么我要付出这样做的运行时成本呢?