如何提高DotSpatial Map的绘图性能

时间:2017-01-13 10:55:23

标签: .net maps gis dotspatial

我正在编写一种导航应用程序,需要留下多边形的踪迹。创建多边形并将它们添加到地图不是问题,但是我必须使用新的多边形更新地图。标准的做法是:

Map1.Refresh()

但是执行以下操作也有效,但它们具有相同的效果,因为它们是由Refresh()调用的低级函数

Map1.ResetBuffer()
Map1.MapFrame.Invalidate()

我每秒都会添加一个新的多边形,这意味着在10分钟内我有600个多边形。 Refresh程序清除整个缓冲区并重新创建它,遍历每一层和每一层的每个特征。当你有1层和600个功能时,这需要一秒多的时间,因此程序会卡住。我意识到现在我已经找到了解决方案,只绘制了最后一个功能,但是:

  1. 我不知道如何
  2. 也许还有一些其他的解决方案以某种方式刷新Map在性能上没那么昂贵,理想情况下它不应该取决于需要显示的内容的总大小,而只取决于需要的新对象的大小被绘制。
  3. 欢迎任何有助于我在地图上留下多边形的建议,C#,VB.NET或普通的旧英语。

0 个答案:

没有答案