[DXUT] "Failed creating d3dDevice!" on other pc

Started by
5 comments, last by Florian22222 12 years, 4 months ago
I am programming a little app in dx11 with dxut. It´s running on my pc and one of my friends pc without any problems. But when I try it on other pcs(they all have dx11) a messagebox occurs "Failed creating d3dDevice".
I don´t know how to handle this, because it has to be a problem with his pc...
Advertisement
It's probably that you are setting up the device with a feature level higher than his graphics card can handle. what feature level are you setting the device up with? check that and find out what level his graphics card can handle. The way to get around this is when creating the device, check if it was created. if it wasn't, then create the device again with a lower feature level. You can check for every feature level, and when the last feature level still fails, return the message saying the device was not able to be created or whatever

One other thing, is you might want him to uninstall directx and reinstall if the above doesn't work for him. check the flags you are creating the device with. I know that after i installed the newest release of directx (i didn't uninstall the old one first), the device was failing to create when i had the debug flag set for the direct3d 10 device
I am setting it up with D3D_FEATURE_LEVEL_11_0
but that is supported on the destination pc because in dxdiag.exe it shows DirectX11 Version.
Also the debug flag can´t be the problem, cause I tried both, Release and Debug build.
in the caps viewer on his pc, does it actually say "[color=#1C2837][size=2]D3D_FEATURE_LEVEL_11_0" under where it says Direct3D 11? because on my laptop, my graphics card only supports direct3d 10, although caps viewer shows direct3d 11. that just means that the drivers and software is installed, but the feature level is what you want to find. maybe its not the problem, but check because it sounds like it is to me. also, you can find out by doing what i said above, and create the device multiple times with lower feature levels if the previous create failed.
yea i just changed it to [color="#1C2837"]D3D_FEATURE_LEVEL_10_0 and there is no problem anymore ;)
[color="#1c2837"]can every win7 pc use dx10?
[color="#1c2837"]i just can´t decide if i should use dx9 or dx10/11
[color="#1c2837"]can every win7 pc use dx10?
No, the feature levels that are supported depend on the PC's graphics hardware.

As a rough guide, in terms of nVidia-brand graphics cards, DX11's feature-level 9 corresponds to GeForce7 and earlier (manufactured 2006 and earlier), feature-level 10 corresponds to GeForce8 (2007) to GeForce 300 (early 2010) and feature-level 11 corresponds to GeForce 400+ (2010 and later).

To get the most modern features while still being fairly compatibly, I'd recommend using the DX11 API, but with feature-level 10 (computers running Windows Vista/7 built from roughly 2007 onwards).

If you want full comparability with Windows XP and older (2003-2006) GPU's, then use the DX9 API instead.

[quote name='IceBreaker23' timestamp='1324384284' post='4895685'][color="#1c2837"]can every win7 pc use dx10?
No, the feature levels that are supported depend on the PC's graphics hardware.

As a rough guide, in terms of nVidia-brand graphics cards, DX11's feature-level 9 corresponds to GeForce7 and earlier (manufactured 2006 and earlier), feature-level 10 corresponds to GeForce8 (2007) to GeForce 300 (early 2010) and feature-level 11 corresponds to GeForce 400+ (2010 and later).

To get the most modern features while still being fairly compatibly, I'd recommend using the DX11 API, but with feature-level 10 (computers running Windows Vista/7 built from roughly 2007 onwards).

If you want full comparability with Windows XP and older (2003-2006) GPU's, then use the DX9 API instead.
[/quote]

thank you for this detailed answer. I´ve now decided to use your recommended API(DX11 with dx10-features).
In my opinion older pcs won´t run the game anyway, if I use good graphics ;)


This topic is closed to new replies.

Advertisement