Total Time: private void WpfMap_Loaded(object sender, RoutedEventArgs e) { ....... foreach (Overlay overlay in Map1.Overlays) { if (!overlay.IsEmpty) { overlay.Drawn += new System.EventHandler(Overlay_Drawn); OverlayCount++; } } stopWatch.Start(); Map1.Refresh(); } private static int OverlayCount; private static int counter; System.Diagnostics.Stopwatch stopWatch = new System.Diagnostics.Stopwatch(); void Overlay_Drawn(object sender, DrawnOverlayEventArgs e) { counter++; if (OverlayCount == counter) { stopWatch.Stop(); System.Diagnostics.Debug.WriteLine("Total Drawing Time is:" + stopWatch.Elapsed.TotalMilliseconds + "ms"); } } Tour: private void WpfMap_Loaded(object sender, RoutedEventArgs e) { Map1.MapUnit = GeographyUnit.DecimalDegree; ShapeFileFeatureLayer shpLayer = new ShapeFileFeatureLayer(@"..\..\sampledata\data\countries02.shp"); shpLayer.Open(); shpLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; shpLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyles.Country1; LayerOverlay ov = new LayerOverlay(); ov.Layers.Add(shpLayer); timer.Tick += new System.EventHandler(timer_Tick); timer.Interval = new System.TimeSpan(0, 0, 1); Map1.Overlays.Add(ov); Map1.CurrentExtent = shpLayer.GetBoundingBox(); Map1.Refresh(); } void timer_Tick(object sender, System.EventArgs e) { Map1.ZoomTo(point, Map1.ZoomLevelSet.ZoomLevel06.Scale); point.X += 20; timer.Stop(); } PointShape point = new PointShape(-90, 0); DispatcherTimer timer = new DispatcherTimer(); void ov_Drawn(object sender, DrawnOverlayEventArgs e) { timer.Start(); }