我试图在C#中编写游戏循环,但我无法从另一个线程访问WPF对象......
基本上这就是我想要的循环:
循环:
读取输入 更新游戏状态 渲染到缓冲区 将缓冲区发送到图形卡 在屏幕上显示渲染的图像 重复。
最好的方法是什么?
我可以使用Dispatcher.Invoke
执行此操作,但我不认为Dispatcher.Invoke
是针对普通用户界面制作的。
答案 0 :(得分:2)
我可以使用Dispatcher.Invoke执行此操作,但我不认为Dispatcher.Invoke是为 普通的用户界面。
讽刺问题 - 您认为它还有什么用途?它完全是为了这个 - 所以非UI线程可以调用回UI线程来更新UI。这正是EVER调用它的唯一用途 - 如果我不调用UI线程,为什么我要付出这样做的运行时成本呢?