我的目标是确定动画何时在低端硬件(低端 GPU)上运行并更改动画或情节提要以提供更好的用户体验(或更少的动画)。
是否可以确定动画的帧速率?
从技术上讲,没有办法获得帧速率。您可以检测CompositionTarget.Rendering事件的每个报告之间的时间量,但该事件仅跟踪动画系统何时完成将其更新发送到渲染子系统(这很可能决定跳过帧,具体取决于显卡)。
在此处的 MSDN 论坛上有一个关于跟踪 WPF 帧速率的非常有趣的讨论。几乎所有这些都应该适用于 Windows 应用商店 XAML 应用程序。
如果您只想在动画运行时间过长时换掉动画,CompositionTarget.Rendering可能适合您的需要。