CompositionTarget.未调用渲染

本文关键字:调用 CompositionTarget | 更新日期: 2023-09-27 18:17:34

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

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

更新

这个工作得很好,我现在可以测量我的WPF应用程序的每秒帧数。见下面的答案。

CompositionTarget.未调用渲染

可以了

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

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

这个不行

CompositionTarget.Rendering += this.WpfRenderFrameCallback;

如果你试图在后台线程上附加处理程序,那么this.WpfRenderFrameCallback将永远不会被调用: