Our app crashes, when we use two monitors, start the app and then set the monitor modus with Window+P key combination on "Duplicate".
We could reproduce it with a minimal WPF Application with one Window and the following code in MainWindow.xaml. We tested it with Esri SDK for .NET 10.2.5, 10.2.6 and 10.2.7. And we used .NET Framework 4.6.1 and 4.6.2.
There is no other code. (Unfortunately the solution of this minimal app is 166MB, which makes it too heavy to be attached here):
<esri:WmtsLayer ServiceUri="https://services.arcgisonline.com/arcgis/rest/services/Canvas/World_Dark_Gray_Base/MapServer/WMTS" />
The app crashes with:
System.Runtime.InteropServices.COMException was unhandled
Message=UCEERR_RENDERTHREADFAILURE (Ausnahme von HRESULT: 0x88980406)
For this render thread failure we have already tried all the recommendations from here: WPF Render Thread Failures – The DSUI Team Blog. Nothing worked, the app still crashes.
There is no crash without a map.
I hope the description is good enough.
The reason I wanted to try is that if it works or not in v100, will help us better understand what's going on, since there's been a lot of changes in this area in v100.x (any tile or dynamic layer would do).
WMTS will be available in 100.1, WMS is currently still on track for 100.2
Our dev team is also expriencing this same issue.
However, the problem root we trace to may or may not be an issue with ESRI's library. So this is just the findings that we got.
Hardware: Laptop, HP Elitebook 840 2015 connected to 2 external monitor via displayport 1.2 and VGA ports (Extended display mode)
We have 2 simple .net solutions to display a map only with any basemap.
1) On startup, the map window is moved to the VGA monitor
2) The VGA port is unplugged from the monitor
3) The map window redraws and is displayed on the main display (laptop)
4) The VGA port is plugged back in and the map window is redrawn again but remains in the main display
No exception is encountered.
1) The VS solution is restarted and on map window loaded, it is moved to the displayport monitor
2) The displayport is unplugged
3) The exception is encountered
Update (new findings)
Attached are the sample solutions used.