POST
|
.NET Maps SDK version 200.3.0 I have a fairly complex application that uses multiple ImageOverlays to render video frames on a 3D SceneView. When I want to disable the display of the video, I call SceneView.ImageOverlays.Clear() If there is only 1 or 2 ImageOverlays then this will usually work. If there are 4 ImageOverlays then this will 100% throw the following exception: Unhandled Exception: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. at RuntimeCoreNet.GeneratedWrappers.CoreGeoView.CoreRT_GeoView_pulse(IntPtr thisHandle, IntPtr* outErrorHandle) at RuntimeCoreNet.GeneratedWrappers.CoreGeoView.Pulse() at Esri.ArcGISRuntime.UI.Controls.GeoView.Esri.ArcGISRuntime.Internal.IDxSurfaceSource.Pulse() at Esri.ArcGISRuntime.Internal.HostedSurfaceElement.CompositionTarget_Rendering(Object sender, EventArgs e) at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget) at System.Windows.Media.MediaContext.AnimatedRenderMessageHandler(Object resizedCompositionTarget) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) at System.Windows.Threading.DispatcherOperation.InvokeImpl() at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state) at System.Windows.Threading.DispatcherOperation.Invoke() at System.Windows.Threading.Dispatcher.ProcessQueue() at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs) at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam) at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg) at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame) at Esri.ArcGISRuntime.Internal.HostedSurfaceElement.SurfaceBackgroundUiWorker(Object arg) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart(Object obj) I am assuming that there is some non thread safe processing that is occurring to update the map and it is not handling the ImageOverlays collection being cleared while this is happening? Any help or advice would be greatly appreciated.
... View more
03-14-2024
07:18 PM
|
0
|
2
|
216
|
POST
|
Perfect, thank you. That did indeed resolve the issue.
... View more
10-03-2023
03:59 PM
|
0
|
0
|
435
|
POST
|
Thanks for the quick reply, I have been thinking of the quickest way to demonstrate the issue (our codebase is massive, and trying to carve out just this piece would take quite some time). If you load up the ArcGIS.WPF.Viewer.NetFramework solution replace the following lines in Samples\Symbology\RenderMultilayerSymbols\RenderMultilayerSymbols.xaml.cs then you will see the issue demonstrated on the blue star symbol. Replace lines 216 - 220: // Create new PictureMarkerSymbolLayer from the runtime image object. var pinMarker = new PictureMarkerSymbolLayer(img) { Size = 50 }; // Create a new multilayerpoint symbol with the PictureMarkerSymbolLayer. var pinSymbol = new MultilayerPointSymbol(new[] { pinMarker }); with: // Create new PictureMarkerSymbol from the runtime image object. var pinSymbol = new PictureMarkerSymbol(img); Then if you run at 200% scaling you will see that the blue star image is half the size that it should be (it is quite obvious compared to the camping image above it).
... View more
10-02-2023
06:14 PM
|
0
|
2
|
467
|
POST
|
Esri Maps SDK 200.2.0 I have a CompositeSymbol made up of a PictureMarkerSymbol and optionally a Text Symbol. The CompositeSymbol is being added to the Graphics collection on a GraphicsOverlay. This all works very well, until screen scaling is changed from 100% to support a high DPI screen (Microsoft Surface, but simply increasing the scaling above 100% on a standard DPI monitor has the same effect). The higher screen scaling percentage that is selected, the smaller that the image for the PictureMarkerSymbol is rendered. Ideally I would expect the images to remain a fixed size with respect to the map, as opposed to shrinking as they currently are. I have attached two images, you can see that the CoT marker is being rendered at exactly the same size in both images, whereas the aircraft PictureMarkerSymbols are the proper size in the first image (100%) and very small in the second image (225%). Would appreciate some feedback as to whether this is intended operation, or if it is something that can be resolved? 100% scaling 225% scaling
... View more
10-02-2023
04:52 PM
|
1
|
4
|
531
|
POST
|
Please add me to the list of customers who would love to see this function implemented. We have a Map control that allows our users to switch between 2D and 3D maps, and as it stands when they switch to 3D they lose their current location display. As such I have been tasked with writing a solution to replace the LocationDisplay so that we get a consistent visualisation on both 2D and 3D maps. The LocationDisplay on 2D maps works really well, and ideally a 3D solution that simply displayed exactly the same symbol with the same animations and draped on the 3D scene would be ideal.
... View more
08-15-2023
08:54 PM
|
2
|
0
|
511
|
POST
|
Any update on when this might be added to SceneView (WPF)? I am being tasked with writing our own implementation for SceneView to mimic the MapView functionality, which seems like a lot of work if SceneView support is coming.
... View more
08-15-2023
08:44 PM
|
1
|
0
|
301
|
POST
|
Bumping to see if there was any update on this issue?
... View more
10-10-2022
10:42 PM
|
0
|
0
|
251
|
POST
|
I have multiple GraphicsOverlays holding a mix of static and dynamic Graphics. I have the single AnalysisOverlay holding the LocationViewShed Elevation data come from DTED loaded through a RasterElevationSource added to SceneView.Scene.BaseSurface.ElevationSources
... View more
07-26-2022
06:16 PM
|
0
|
0
|
320
|
POST
|
Using ArcGISRuntime.WPF version 100.12.0, and .net 8 C# application. I have a LocationViewShed that I am adding to an overlay on my SceneView, and whilst it is "working" there are weird banding artefacts in the resulting graphics. Note that I see similar weird graphical artefacts in the "Viewshed for Camera" sample application. Looking at the image you can see the banding I am talking about, and as the viewpoint shifts (analysis remains the same) the colour bands move within the viewshed results.
... View more
07-26-2022
06:04 PM
|
0
|
3
|
336
|
BLOG
|
The https://www.nuget.org/packages/Esri.ArcGISRuntime/ nuget package has a dependency on https://www.nuget.org/packages/Esri.ArcGISRuntime.runtimes.win/ but this package seems to have been removed from nuget. This is not only affecting the latest runtime, all versions have been removed. Any idea on when it will be restored? As pointed out below, the package is still there, just not listed. All is working well after installing the new base packages.
... View more
08-26-2021
10:15 PM
|
0
|
0
|
1477
|
POST
|
I am using an ImageOverlay to present UAS video on a 3D SceneView. Whilst this works, I am finding it very resource intensive to convert every frame of video from a System.Drawing.Bitmap to an ImageFrame that I can assign to the ImageOverlay ImageFrame property. In particular, when working with in memory images, the only constructor for the ImageFrame that I can use seems to be the one that takes a RuntimeImage, and the only constructor I can use for that takes a byte array. So as every frame of video is received I have to do the following: using (var ms = new MemoryStream()) { VideoFrameBitmap.Save(ms, ImageFormat.Bmp); ImageAsBytes = ms.ToArray(); } imageOverlay.ImageFrame = new ImageFrame(new RuntimeImage(ImageAsBytes), new Polygon(points)); The call to VideoFrameBitmap.Save method is particularly processor intensive, and means I have to skip frames when processing 4K video. Note I have tried ImageConverter.ConvertTo but it is actually around 6 times slower than using the memory stream! So my question is, is there another way to update the ImageFrame on an ImageOverlay, from a Bitmap source without having to go through a conversion to a byte Array?
... View more
08-26-2021
09:46 PM
|
0
|
1
|
487
|
POST
|
We are also encountering this problem. To be clear, the code that is added to the postbuild event works. The problem is that we need to add extra code and that is not possible. Any changes that are made to the postbuild event are ignored.
... View more
06-05-2019
06:45 PM
|
0
|
2
|
1359
|
Title | Kudos | Posted |
---|---|---|
1 | 08-15-2023 08:44 PM | |
1 | 10-02-2023 04:52 PM | |
2 | 08-15-2023 08:54 PM |
Online Status |
Offline
|
Date Last Visited |
03-18-2024
01:43 AM
|