绘制几何体速度慢



我有一组坐标,它是在我的覆盖方法OnRender上使用DrawGeometry绘制的。我试图绘制的多边形之一是 121000 点,这很多。这会减慢我的地图控制速度。

此外,当此OnRender发生时,点已经在内存中,我只是将点传递给DrawGeomerty

下面是一个在渲染上发生的情况的示例

MapProjection pa = new MapProjection();
if (this.mapCommunication.MapLayers == null)
{
    return;
}
foreach (KeyValuePair<Guid, MapLayerHelper> coordinatePointsLayer in this.mapCommunication.MapLayers)
{
    if (!coordinatePointsLayer.Value.IsVisible)
    {
        continue;
    }
    if (coordinatePointsLayer.Value.State != LayerEnum.Visible)
    {
        continue;
    }
    foreach (CoordinateHelper coordinatePoints in coordinatePointsLayer.Value.Coordinates)
    {
        foreach (StreamGeometry item in coordinatePoints.GeomertyPoints)
        {
            drawingContext.DrawGeometry(null, penDrawing, item);
        }
    }
}

我的问题是我应该从这里采取什么方向进行优化,或者我应该尝试合并 DirectX 这会有所帮助或我应该采取什么方法?

感谢您的帮助,我很新来渲染这么多数据。

我最终发现的是如果我错了,请帮助我:)WPF 已经建立在 Direct X 上,所以如果我尝试通过 SharpDX 之类的东西进行访问,对我没有多大帮助,因为我正在进行 dubble 缓冲并且已经实现。

因此,我实现的不是读取OnRender中的点,而是使用具有固定大小的画布,并以这种方式添加System.Windows.Shapes.Path添加我的几何体。

这导致 WPF 能够更好地管理配音缓冲,并且点的呈现速度要快得多。

相关内容

  • 没有找到相关文章

最新更新