I'm trying to get an Overview Map widget working in WPF using the ArcGIS Runtime v100. This worked great in 10.2.7 by following the example at Overview Map | ArcGIS for Developers. However, when I try to write equivalent code in the new update, the program exits without even surfacing a .NET exception.
I created a gist of a small sample that reproduces the problem at Attempt at Overview Map in ArcGIS Runtime .NET/WPF SDK v100. The program crashes · GitHub. I'm hoping I'm just missing something obvious. Any help at all would be appreciated. Thanks!
Solved! Go to Solution.
Hi,
In v100.0 the API requires DirectX hardware support. For v100.1 we are adding support for falling back to software rendering (WARP) when hardware support is unavailable. This will place a higher load on the CPU, but will allow the mapview/sceneview to continue rendering.
Are you running Windows 7? In v100.0 we've seen issues with Windows 7 on VMWare when options such as "Accelerate 3D graphics" are enabled, where the OS appears to falsely report that hardware GPU support is available and our rendering fails. In our testing of the upcoming v100.1 release, the new support for software rendering that we have added resolves this. On Windows 8.1 and Windows 10 the Microsoft display drivers seem to handle automatic software rendering and we did not see the same issues.
Cheers
Mike
Seems to work for me. Can you zip your solution and upload to the topic?
Thanks for the fast reply! I've attached the solution. I'm using Visual Studio 2017. I also notice that sometimes it'll work for a second or two before terminating.
One other thing your reply made me think of -- my development environment is typically virtual machine, which sometimes causes problems with hardware accelerated graphics, though just having a simple map is working fine. I just tried my app outside of a virtual machine and it worked fine. I'll poke around to see if I can tweak settings on my development environment that fixes the problem.
This works fine on my machine. Can you provide more details about your configuration:
- OS
- Build 86 / 64
- Graphics card
Can you also add a handler to catch all unhandled exceptions and see if anything is caught in there? Also can you enable native debugging?
As I said, I'm working in a VM:
VM is a VMWare 12 virtual machine, 4 GB RAM, 4 processors, running Windows 10 64 bit.
Host machine is Windows 7 64 bit, 32 GB RAM, 8 cores, AMD FirePro W5100 graphics card.
The problem goes away in my VM if I change the VM's settings so that "Accelerate 3D graphics" is unchecked, so ultimately I think this is a VMWare issue. This is an acceptable solution for me, so I'm considering this resolved.
I added a global exception handler. For this issue it does not catch anything before the program terminates.
With native debugging on, I see a couple unhandled native exceptions that are sufficiently low level that I'm doubting that ArcGIS is the culprit:
Unhandled exception at 0x77ACA882 in OverviewMapv100.exe: Microsoft C++ exception:
Esri_runtimecore::Runtimecore_net::Dx_exception at memory location 0x07CEEBD8.
> KernelBase.dll!77aca882() Unknown
[Frames below may be incorrect and/or missing, no symbols loaded for KernelBase.dll]
vcruntime140.dll!71cc4665() Unknown
RuntimeCoreNet.dll!508f99f9() Unknown
RuntimeCoreNet.dll!508f549a() Unknown
RuntimeCoreNet.dll!5093ab40() Unknown
RuntimeCoreNet.dll!509b5908() Unknown
vcruntime140.dll!71ccd0a7() Unknown
vcruntime140.dll!71cce302() Unknown
vcruntime140.dll!71cc3398() Unknown
vcruntime140.dll!71cc3304() Unknown
vcruntime140.dll!71cc2ebc() Unknown
ntdll.dll!77c22d72() Unknown
ntdll.dll!77c22d44() Unknown
ntdll.dll!77bff28f() Unknown
ntdll.dll!77c108ef() Unknown
d3d11.dll!65d51adf() Unknown
RuntimeCoreNet.dll!508f6628() Unknown
RuntimeCoreNet.dll!5177be61() Unknown
RuntimeCoreNet.dll!51d1d61a() Unknown
RuntimeCoreNet.dll!51d1d024() Unknown
RuntimeCoreNet.dll!51872b61() Unknown
RuntimeCoreNet.dll!50f70ca6() Unknown
RuntimeCoreNet.dll!509b58a5() Unknown
RuntimeCoreNet.dll!50937fec() Unknown
RuntimeCoreNet.dll!50950d3d() Unknown
RuntimeCoreNet.dll!50f77346() Unknown
RuntimeCoreNet.dll!5107602e() Unknown
RuntimeCoreNet.dll!51075fc3() Unknown
RuntimeCoreNet.dll!5187567d() Unknown
msvcp140.dll!50809ece() Unknown
RuntimeCoreNet.dll!5191d55c() Unknown
RuntimeCoreNet.dll!50b776e6() Unknown
RuntimeCoreNet.dll!50b6c980() Unknown
RuntimeCoreNet.dll!50938e0a() Unknown
ucrtbase.dll!74b2d5ef() Unknown
kernel32.dll!76fe62c4() Unknown
ntdll.dll!77c00fd9() Unknown
ntdll.dll!77c00fa4() Unknown
Exception thrown at 0x508F9A0D (RuntimeCoreNet.dll) in OverviewMapv100.exe: 0xC0000005: Access violation writing location 0x7BC95B1A.
> RuntimeCoreNet.dll!508f9a0d() Unknown
[Frames below may be incorrect and/or missing, no symbols loaded for RuntimeCoreNet.dll]
RuntimeCoreNet.dll!508f549a() Unknown
RuntimeCoreNet.dll!5093ab40() Unknown
RuntimeCoreNet.dll!509b5908() Unknown
vcruntime140.dll!71ccd0a7() Unknown
vcruntime140.dll!71cce302() Unknown
vcruntime140.dll!71cc3398() Unknown
vcruntime140.dll!71cc3304() Unknown
vcruntime140.dll!71cc2ebc() Unknown
ntdll.dll!77c22d72() Unknown
ntdll.dll!77c22d44() Unknown
ntdll.dll!77bff28f() Unknown
ntdll.dll!77c108ef() Unknown
d3d11.dll!65d51adf() Unknown
RuntimeCoreNet.dll!508f6628() Unknown
RuntimeCoreNet.dll!5177be61() Unknown
RuntimeCoreNet.dll!51d1d61a() Unknown
RuntimeCoreNet.dll!51d1d024() Unknown
RuntimeCoreNet.dll!51872b61() Unknown
RuntimeCoreNet.dll!50f70ca6() Unknown
RuntimeCoreNet.dll!509b58a5() Unknown
RuntimeCoreNet.dll!50937fec() Unknown
RuntimeCoreNet.dll!50950d3d() Unknown
RuntimeCoreNet.dll!50f77346() Unknown
RuntimeCoreNet.dll!5107602e() Unknown
RuntimeCoreNet.dll!51075fc3() Unknown
RuntimeCoreNet.dll!5187567d() Unknown
msvcp140.dll!50809ece() Unknown
RuntimeCoreNet.dll!5191d55c() Unknown
RuntimeCoreNet.dll!50b776e6() Unknown
RuntimeCoreNet.dll!50b6c980() Unknown
RuntimeCoreNet.dll!50938e0a() Unknown
ucrtbase.dll!74b2d5ef() Unknown
kernel32.dll!76fe62c4() Unknown
ntdll.dll!77c00fd9() Unknown
ntdll.dll!77c00fa4() Unknown
Again, I'm considering this resolved. Thanks again for your quick attention.
Hi,
In v100.0 the API requires DirectX hardware support. For v100.1 we are adding support for falling back to software rendering (WARP) when hardware support is unavailable. This will place a higher load on the CPU, but will allow the mapview/sceneview to continue rendering.
Are you running Windows 7? In v100.0 we've seen issues with Windows 7 on VMWare when options such as "Accelerate 3D graphics" are enabled, where the OS appears to falsely report that hardware GPU support is available and our rendering fails. In our testing of the upcoming v100.1 release, the new support for software rendering that we have added resolves this. On Windows 8.1 and Windows 10 the Microsoft display drivers seem to handle automatic software rendering and we did not see the same issues.
Cheers
Mike
This describes the situation perfectly. Thanks for the information.
Hi Jonathan,
Can you confirm what OS you were using on your VM?
Cheers
Mike
The VM is running Windows 10. My host machine is Windows 7.