我正在使用Visual Studio中的"空白应用程序"Visual C#模板构建通用Windows应用程序(UWP).我想在运行应用程序时测量两个数据点:
对于第一点,假设我正在创建一个在MainPage.xaml中将5个ToggleSwitches定义为XAML的应用程序.我想测量UI显示所有5个ToggleSwitch所需的时间.我在MainPage.xaml.cs中的this.InitializeComponent()命令之前放置了一个秒表计时器(因为我假设这是Designer XAML元素的处理开始的地方).我想在窗口正确涂漆后立即停止计时器.我已经尝试了XAML元素的Loaded和LayoutUpdated事件,但是在UI更新时都没有触发.我在哪里放置计时器来获取我寻找的数据?如果我在调试器中单步执行代码,那么"Step Over"代码行将导致UI刷新?
对于第二点,我只想记录计算机内部处理XAML代码所需的时间(不包括渲染UI,运行合成引擎,使用Direct3D处理 - 只处理XAML).我的第一直觉是在此之前简单地启动秒表.InitializeComponent()并在之后立即结束.但是,我没有看到基于页面内容的数据更改.例如,无论我是使用XAML Designer上定义的100个ToggleSwitches还是5个ToggleSwitches运行我的应用程序,this.InitializeComponent()方法都需要相同的时间.我有什么想法可以更好地衡量这个数据点吗?
任何帮助深表感谢.