laptop and a wrench

Error

Performance issue with a DistanceCompositeSceneSymbol while drawing thousands of graphics on a GraphicsOverlay.

Última publicación: November 28, 2018 ArcGIS Runtime SDK
Número de ID del error BUG-000117596
EnviadoOctober 22, 2018
Última modificaciónJune 5, 2024
Relacionado conArcGIS Runtime SDK
Versión encontrada100.3
Sistema operativoWindows OS
Versión de sistema operativo10.0 64 Bit
EstadoKnown Limit

Información adicional

Using a different 3D marker symbol for each individual graphic incurs an overhead because it limits the reuse of low level graphic resources. Instead we recommend using the `Pitch Expression` property on the Renderer.SceneProperties. Example: ``` private async void Initialize() { mySceneView.Scene = new Scene(); mySceneView.Scene.Basemap = Basemap.CreateImagery(); List ptList = new List(); SimpleRenderer urender = new SimpleRenderer(); var markerSymbol = new SimpleMarkerSceneSymbol() { Style = SimpleMarkerSceneSymbolStyle.Sphere, Color = System.Drawing.Color.FromArgb(200, 255, 255, 0), Height = 11, Width = 11, Depth = 11, AnchorPosition = SceneSymbolAnchorPosition.Center }; urender.SceneProperties.PitchExpression = "[pitch]"; string path = System.Environment.CurrentDirectory + "\\tower.dae"; var modelSymbol = await ModelSceneSymbol.CreateAsync(new Uri(path), 1); modelSymbol.AnchorPosition = SceneSymbolAnchorPosition.Bottom; var compositeSymbol = new DistanceCompositeSceneSymbol(); var nearSymbolInfo = new DistanceSymbolRange(modelSymbol, 0, 1000); compositeSymbol.Ranges.Add(nearSymbolInfo); var farSymbolInfo = new DistanceSymbolRange(markerSymbol, 1000, 10000); compositeSymbol.Ranges.Add(farSymbolInfo); urender.Symbol = compositeSymbol; for (int i = 0; i < 1000; i++) { MapPoint mapPoint = new MapPoint(115 + i * 0.0005, 36 + i * 0.0005); ptList.Add(mapPoint); Graphic graphic = new Graphic(mapPoint); graphic.Attributes.Add("NO.", i); graphic.Attributes["pitch"] = (mapPoint.X - 115) * 100000; goTower.Graphics.Add(graphic); } goTower.Renderer = urender; mySceneView.GraphicsOverlays.Add(goTower); await mySceneView.SetViewpointCameraAsync(new Camera(ptList[0], 1000, 0, 0, 0)); } ```

Pasos para reproducir

ID del error: BUG-000117596

Software:

  • ArcGIS Runtime SDK

Recibir notificaciones cuando cambie el estado de un error

Descargar la aplicación de soporte de Esri

Descubrir más sobre este tema

Obtener ayuda de expertos en ArcGIS

Contactar con el soporte técnico

Descargar la aplicación de soporte de Esri

Ir a opciones de descarga