在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/