Since it's impossible to predict what the graphics adapter and its driver will produce when hardware acceleration is present (especially on legacy systems), it is always recommended to provide also the ability to start your application without hardware acceleration. This cannot be done at runtime as you'd need to destroy the ViewportLayout control and recreate it on the fly.
Restarting your application without hardware acceleration allows the user to calm down and start working with consistent 3D graphics even if performances are worse.
The best approach would be to save a flag in the registry, quit and then reload your application with
ViewportLayout.AskForHardwareAcceleration = true/false depending on the user settings.
To help your customer, you should generally proceed as follows:
- Install and start your application always with
ViewportLayout.AskForHardwareAcceleration = true
- If the end user experiences some graphical issues, ask him/her to uncheck the ‘Use hardware acceleration’ option and to restart the application.
- Now the end user can - for sure - use the application.
- At his own convenience, he will try to upgrade the graphics adapter driver to the latest version available and activate the ‘Use hardware acceleration’ option again.
In case this doesn't solve the issue, a graphics adapter upgrade will be necessary.