The system requirements page tells me the machine has to support Direct3D feature level 9_1.
How can I test, if my machine does?
Is there any generic utility available?
Best Regards
Jens
Windows+R (Run) and enter "DXDIAG". Under the display tab you should see a "Feature Levels" section.
You'd be hard-pressured to find a PC that doesn't run at least 9_3 (We couldn't even find any ourselves).
However note that some VM systems doesn't have DirextX11 Hardware support.
Note though that for the most part 9_1 will work currently. It's only 3D that requires 9_3 in some cases. That may however change in the future and apply to 2D as well.
Morten,
thanks for your reply.
My physical machine does show the Feature Levels in dxdiag, as you said.
However, a VM (VMWare) does not show any Feature Level at all, although it claims to be DirectX compatible (DirectX 11). DirectDraw, Direct3D and AGP Texture Acceleration appear all as "Enabled".
On that (virtual) machine, ArcGIS Runtime .NET 100.0 doesn't work at all (Call to constructor of MapView crashes). I need to find a way to argue to the system administrator why this machine doesn't meet the system requirements.
Although I know, VMs aren't really supported, I haven't found a reference for that. Can you help me out?
> Although I know, VMs aren't really supported
You haven't found a reference for that, because it isn't true :-). VMs are supported, as long as they have the requirements stated.
Note: We've found Windows 8+ on VMs works a lot better than Windows 7, due to its better GPU hardware emulation. We're currently looking into adding some software fallback for Win7 for a future update.
Btw which crash are you getting? And do you have a call stack from the crash? (preferably enable "native debugging" in the debug settings of the app to get a better callstack that covers both managed and native code)
Morten,
here's the StackTrace (partially in German, but the important parts are in english..)
System.Windows.Markup.XamlParseException occurred
_HResult=-2146233087
_message=Zeilennummer "14" und Zeilenposition "10" von "Durch den Aufruf des Konstruktors für Typ "Esri.ArcGISRuntime.UI.Controls.MapView", der den angegebenen Bindungseinschränkungen entspricht, wurde eine Ausnahme ausgelöst.".
HResult=-2146233087
IsTransient=false
Message=Zeilennummer "14" und Zeilenposition "10" von "Durch den Aufruf des Konstruktors für Typ "Esri.ArcGISRuntime.UI.Controls.MapView", der den angegebenen Bindungseinschränkungen entspricht, wurde eine Ausnahme ausgelöst.".
Source=PresentationFramework
LineNumber=14
LinePosition=10
StackTrace:
bei System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
InnerException: System.TypeInitializationException
_HResult=-2146233036
_message=Der Typeninitialisierer für "RuntimeCoreNet.GeneratedWrappers.CoreWrapperBase" hat eine Ausnahme verursacht.
HResult=-2146233036
IsTransient=false
Message=Der Typeninitialisierer für "RuntimeCoreNet.GeneratedWrappers.CoreWrapperBase" hat eine Ausnahme verursacht.
Source=Esri.ArcGISRuntime
TypeName=RuntimeCoreNet.GeneratedWrappers.CoreWrapperBase
StackTrace:
bei RuntimeCoreNet.GeneratedWrappers.CoreWrapperBase..ctor(IntPtr handle)
bei RuntimeCoreNet.GeneratedWrappers.CoreGeoView..ctor(IntPtr handle)
bei RuntimeCoreNet.GeneratedWrappers.CoreMapView..ctor(IntPtr handle)
bei RuntimeCoreNet.GeneratedWrappers.CoreMapView..ctor(Int32 width, Int32 height, Single screenScale, CorePulseThread pulse)
bei Esri.ArcGISRuntime.UI.Controls.MapView.CreateCoreMapView()
bei Esri.ArcGISRuntime.UI.Controls.MapView..ctor()
InnerException: System.InvalidOperationException
_HResult=-2146233079
_message=Invalid ArcGISRuntime deployment, unable to load native dll. Maybe a missing native dependency, checking with dependency walker may help resolve this issue. C:\src\ArcGISApp1\bin\Debug\arcgisruntime100.0\client32\RuntimeCoreNet.dll
HResult=-2146233079
IsTransient=false
Message=Invalid ArcGISRuntime deployment, unable to load native dll. Maybe a missing native dependency, checking with dependency walker may help resolve this issue. C:\src\ArcGISApp1\bin\Debug\arcgisruntime100.0\client32\RuntimeCoreNet.dll
Source=Esri.ArcGISRuntime
StackTrace:
bei Esri.ArcGISRuntime.ArcGISRuntimeEnvironment.TryInitialize()
bei Esri.ArcGISRuntime.ArcGISRuntimeEnvironment.InitNative()
bei Esri.ArcGISRuntime.ArcGISRuntimeEnvironment.Initialize()
bei Esri.ArcGISRuntime.ArcGISRuntimeEnvironment.OnBeforeFirstUseOfGeneratedWrapper()
bei RuntimeCoreNet.GeneratedWrappers.CoreWrapperBase..cctor()
InnerException: System.DllNotFoundException
_HResult=-2146233052
_message=Die DLL "RuntimeCoreNet.dll": Das angegebene Modul wurde nicht gefunden. (Ausnahme von HRESULT: 0x8007007E) kann nicht geladen werden.
HResult=-2146233052
IsTransient=false
Message=Die DLL "RuntimeCoreNet.dll": Das angegebene Modul wurde nicht gefunden. (Ausnahme von HRESULT: 0x8007007E) kann nicht geladen werden.
Source=Esri.ArcGISRuntime
ResourceId=0
TypeName=""
StackTrace:
bei RuntimeCoreNet.GeneratedWrappers.CoreArcGISRuntimeEnvironment.CoreRT_ArcGISRuntimeEnvironment_setInstallDirectory(Byte[] installPath, IntPtr& outErrorHandle)
bei RuntimeCoreNet.GeneratedWrappers.CoreArcGISRuntimeEnvironment.SetInstallDirectory(String installPath)
bei Esri.ArcGISRuntime.ArcGISRuntimeEnvironment.TryInitialize()
InnerException:
Please note, that the most inner Exception Message "Das angegebene Modul wurde nicht gefunden -> The module has not been found" is wrong. The RuntimeCoreNet.dll exists in the path, even more, it is loaded into the process at the time, the exception is thrown.
I haven't gotten a more detailed StackTrace by enabling "Native Code Debugging". But I think I should have gotten at least some obscure Dissamblies (no .pdb available..). I will try bit more to get a real native StackTrace..
Thanks
Jens
OK, got one step further..
After double checking the system requirements page, I saw "Windows 10 Universal C Runtime" and "Microsoft Visual C++ 2015 Redistributable Update 3" under the deployment targets chapter. Installed both in the development VM and now, the application starts, displays a white are with "Powered by Esri" and... crashes 😞
Call Stack below (includes DirectX11...)
> RuntimeCoreNet.dll!0fe2063b() Unknown
[Frames below may be incorrect and/or missing, no symbols loaded for RuntimeCoreNet.dll]
RuntimeCoreNet.dll!0fe1f7c5() Unknown
RuntimeCoreNet.dll!10bdfe33() Unknown
RuntimeCoreNet.dll!1117c328() Unknown
RuntimeCoreNet.dll!1117c252() Unknown
RuntimeCoreNet.dll!10d7cb1b() Unknown
RuntimeCoreNet.dll!10cd2e49() Unknown
RuntimeCoreNet.dll!103d0ca6() Unknown
RuntimeCoreNet.dll!0fe158a5() Unknown
d3d11.dll!CContext::ID3D11DeviceContext1_Release_Thk(struct ID3D11DeviceContext1 *) Unknown
RuntimeCoreNet.dll!0fd97fec() Unknown
RuntimeCoreNet.dll!0fdb0d3d() Unknown
RuntimeCoreNet.dll!103d7346() Unknown
RuntimeCoreNet.dll!104d602e() Unknown
RuntimeCoreNet.dll!104d5fc3() Unknown
RuntimeCoreNet.dll!10cd567d() Unknown
RuntimeCoreNet.dll!10d7d55c() Unknown
RuntimeCoreNet.dll!0ffd76e6() Unknown
RuntimeCoreNet.dll!0ffcc980() Unknown
RuntimeCoreNet.dll!0fd98e0a() Unknown
ucrtbase.dll!thread_start<unsigned int (__stdcall*)(void *)>() Unknown
kernel32.dll!@BaseThreadInitThunk@12 () Unknown
ntdll.dll!___RtlUserThreadStart@8 () Unknown
ntdll.dll!__RtlUserThreadStart@8 () Unknown
Any chance you can collect a dump file and share?
was there a resolution to this issue. I have the same exact issue.
Not yet (still working on it).
To check your feature level, run "DXDIAG" to open the DirectX Diagnostics. Go to the display tab and look at "Feature levels" in the Drivers section. You should see at least 9_3, preferably higher. 2D will for the most part work in 9_1, but you can easily hit certain layers that would require a higher level (and there's no guarantee this will continue to be the case).
Generally if the DirectX Device can't be created, you should see an error message over the mapview with the specific DirectX Error (this is usually just an error code, but if you google it, you should find the description of the directx error)