views:

68

answers:

2

How can I discover my end users' system performance settings (visual effects, etc.)? I want to make my WPF application compatible with those settings.

Is there any standard routine to do this or do I just have to read sysinfo?

A: 

Try the System.Windows.Forms.SystemInformation class.

e.g.

if (SystemInformation.UIEffectsEnabled) {
   // do something
} else {
   // don't do that something
}
Vincent McNabb
+2  A: 

You can check the Rendering tier value of the graphic card using the Tier property in the RenderCapability class which is static.

For information on Rendering tiers you can check this

The values would correspond to the amount of hardware acceleration the card could provide.

If you check the link, you can find that the first 16 bit is the required one and you have to bitshift by 16.

int renderingTier = (RenderCapability.Tier >> 16);
if (renderingTier == 0)
{
    Trace.WriteLine("No graphics hardware acceleration available");
}
else if (renderingTier == 1)
{
    Trace.WriteLine("Partial graphics hardware acceleration available");
}
else if (renderingTier == 2)
{
    Trace.WriteLine("Gotcha!!!");
}
Veer