我有一个应用程序,它订阅CompositionTarget.Rendering事件作为一种游戏“呈现循环”。如果我在回调中花费的时间不到20ms,一切都很好,我的应用程序也可以响应。然而,如果我在这上面花费任何时间,我订阅的输入事件(MouseMove,MouseWheel等)几乎不会被调用,所以尽管我的游戏仍然有30fps左右的降帧率,但输入响应变得非常迟缓和不可用。
如前所述,它的渲染速度约为30fps,但输入事件的渲染速度约为5-10fps。
我认为这与WPF试图保持~60FPS (16ms)有关?因此,它限制了输入分派器,希望恢复一些性能?
有没有办法禁用这种“节流”?
发布于 2021-04-30 20:16:22
CompositionTarget.Rendering事件可以对单个帧激发多次,您可以将其扩展为对每个帧仅激发一次。这可以帮助提高性能。阅读更多here。
发布于 2019-10-14 03:28:42
用于作业的错误工具
你应该问问自己:
为什么我要使用一个没有明确设计的平台来开发一个游戏呢?
https://stackoverflow.com/questions/58367035
复制相似问题