2016-02-02 28 views
0

我遇到了Windows.UI.Xaml.Controls.Maps.MapControl的刷新问题。在下面的代码中,Map是Windows.UI.Xaml.Controls.Maps.MapControl的一个实例。我有mapPolygons,我反复刷新大约40毫秒,并且mapPolygons在地图上有很多伪像/闪烁。目前我只是将MapPolygons添加到Map.MapElements列表中,并删除旧的。有没有办法在Windows 10 Universal应用程序中为地图控件启用双缓冲?否则,我应该怎么做才能消除伪像/闪烁?Double Buffering Win 10通用应用程序地图

目前,我将元素的可见性设置为false,然后将其设置为可见,隐藏旧元素,然后删除旧元素。

的当前更新的代码片段:

polygon1.Visible = false; 
polygon2.Visible = false; 
Map.MapElements.Add(polygon1); 
Map.MapElements.Add(polygon2); 
polygon1.Visible = true; 
polygon2.Visible = true; 
for (int i = Map.MapElements.Count - 1 - 2; i >= 0; i--) // Last two elements are new, remove others 
{ 
    Map.MapElements[i].Visible = false; 
} 
for (int i = Map.MapElements.Count - 1 - 2; i >= 0; i--) // Last two elements are new, remove others 
{ 
    Map.MapElements.RemoveAt(i); 
} 
+0

为什么你在删除它们之前先把它们藏起来? –

+0

这是我尝试减少伪影的一部分,但它没有奏效。忽略它。有没有什么办法可以为图形启用双缓冲,还是我坚持使用更新后的多边形闪烁。 – LloydGrade

回答

0

而不是删除多边形,尝试更新位置信息。这对地图控制可能会更快。请注意,地图控件是使用本机C++编写的,并且多边形的基于XAML的属性必须转换为本地代码,这会产生一些开销。

相关问题