C# 动画贴图高度性能问题
我正在使用底部的地图和菜单创建一个反应式UI。“我的地图”使用内置的windows phone bing地图控件,其下方有一个用户控件 我的XAML如下所示:C# 动画贴图高度性能问题,c#,windows-phone-8,bing-maps,C#,Windows Phone 8,Bing Maps,我正在使用底部的地图和菜单创建一个反应式UI。“我的地图”使用内置的windows phone bing地图控件,其下方有一个用户控件 我的XAML如下所示: <Grid x:Name="LayoutRoot" Background="Transparent"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Controls:Map x:Name="map"/>
<Border Background="{StaticResource PhoneChromeBrush}"
Grid.Row="1">
<telerikPrimitives:RadTransitionControl Grid.Row="1">
<views:OverviewPage/>
</telerikPrimitives:RadTransitionControl>
</Border>
</Grid>
现在,如果我把地图控件换成其他东西,比如说边界。一切正常,动画流畅。问题是,如果我使用地图,我的UI只会每隔半秒左右更新一次。我在Lumia 1520上有这种滞后,我无法想象它在低端设备上有多糟糕
我正在寻找一些方法来提高这部动画的性能,或者其他一些方法。以前有人尝试过这个方法吗?或者你知道一个好的解决方案吗?这个问题是,每次移动地图或调整地图大小时,都会有一堆计算必须由地图来完成。设置贴图动画时,贴图的大小会在很短的时间内更新很多次,导致贴图多次重新计算所有内容。由于涉及所有数据和计算,地图控件通常倾向于重磅控件。应该避免设置地图大小动画之类的事情,尤其是在功能较弱的设备上,如手机。我已经更多地使用了它,正如您所建议的那样。我需要想出其他方法来制作这个。我还要指出的是,这不仅限于地图控件,还可以通过Web浏览器或任何其他图形化用户控件生成。
DoubleAnimation animation = new DoubleAnimation() { Duration = TimeSpan.FromSeconds(10), To = 480, From = 0 };
Storyboard.SetTarget(animation, map);
Storyboard.SetTargetProperty(animation, new PropertyPath(HeightProperty));
Storyboard storyboard = new Storyboard();
storyboard.Children.Add(animation);
storyboard.Begin();