在WPF中,当我尝试将事件附加到CompositionTarget.Rendering时,它永远不会被调用。为什么是这样?

我的目的是测量WPF应用程序的每秒帧数(FPS)。

更新资料

很好地执行此操作,现在我可以测量WPF应用程序的每秒帧数。请参阅下面的答案。

最佳答案

这有效

将处理程序附加到WPF调度程序线程上:

this.dispatcher.BeginInvoke(() =>
{
    CompositionTarget.Rendering += this.WpfRenderFrameCallback;
});


这行不通

CompositionTarget.Rendering += this.WpfRenderFrameCallback;


如果您尝试将处理程序附加到后台线程,那么this.WpfRenderFrameCallback将永远不会被调用:

关于c# - CompositionTarget.Rendering是否未调用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40552956/

10-10 18:13