积极答复者
WP8.1 中关于 CompositionTarget.Rendering 事件的一个奇怪的现象

问题
-
问题是第一次从 MainPage 点击按钮进入 Page1 时,界面能动的元素运动的时快时慢,但当我点击 Page1 的回到主页(MainPage)按钮,然后又再进入 Page1 时,界面能动的元素移动速度明显快了(也更稳定了),_fps 的值也变成了原来的 2 倍。重复这个行为,速度会越来越快(差不多像对数增长)
相关代码如下:
【Page1.xaml.cs】
protected override void OnNavigatedTo(NavigationEventArgs e) { if (e.NavigationMode == NavigationMode.New) { CompositionTarget.Rendering += Update; } } void Update(object sender, object e) { if (_frameCounter++ == 0) { _stopwatch.Start(); } _fps = (long)(_frameCounter / this._stopwatch.Elapsed.TotalSeconds); textBlock.Text = _fps.ToString();
//省略其他代码。。。 }
private void goHomeButton_Click(object sender, RoutedEventArgs e)
{Frame.GoBack(); //由于是由 MainPage 直接进入此页的,所以用了 GoBack();
}- 已编辑 CodingNinja10 2014年10月25日 6:58
答案
全部回复
-
已经解决了,原来 goHomeButton_Click 里面要注销操作: CompositionTarget.Rendering -= Update;
但,时快时慢的问题又是什么呢?
- 已标记为答案 CodingNinja10 2014年10月25日 7:12
- 取消答案标记 CodingNinja10 2014年10月25日 7:18
- 已编辑 CodingNinja10 2014年10月25日 7:19
-