views:

165

answers:

1

Hi,

I have a managed directx 9.0c application that fails to run on some low spec machines (ones without graphics card).

I am wondering if anyone has any suggestions with regards to the minimum directx caps to test for so that I can catch a potential failure before trying to run the application.

The directx application only displays a few meshes and a couple of textures and nothing too intensive.

I currently check for SupportsHardwareTransformAndLight and enable HardwareVertexprocessing if it does and enable SoftwareVertexProcessing if it does not. Just wondering what else I should look for?

Thanks

+1  A: 

Maybe it fails when initializing DirectX 9.0c itself?

Several things can happen:

  • DX9.0c might not be installed on the machine. It is included in Windows XP SP2 and later, but on earlier versions of Windows, the runtime must be installed manually.
  • Hardware acceleration might not be available. Either the user does not have any graphics drivers installed, or has explicitly disabled hardware acceleration in driver settings.

Based on data we have, the above situations are true for about 3% of the "casual user" space (2009 Q1 data).

Other than that, maybe your application itself uses some features without checking whether they are supported by the graphics card.

NeARAZ
thank you for your answer. I am testing on a Virtual Machine (Microsoft Virtual PC) and it uses the standard display drivers (no installed driver). The link to the survey was very interesting, thanks.
Belliez
Last time I checked, Virtual PC did not have hardware acceleration for D3D9. So in majority of cases it should fail to initialize there.
NeARAZ