SciChart WPF 2D Charts > Troubleshooting > Troubleshooting Visual Xccelerator Issues on low-end Graphics Adapter
Troubleshooting Visual Xccelerator Issues on low-end Graphics Adapter

The Visual Xccelerator Engine is a proprietary 3D engine, used in SciChart for leveraging the power of the latest GPUs resulting in fast and feature-rich data visualization. Apart from the 3D Engine, Graphics Acceleration involves usage of such Operation System components as (DirectX) Graphics Library. The last layer in this technology stack is Graphics Adapter Drivers. The Visual Xccelerator Engine relies on those components in terms of its sustainable work. When a target PC runs SciChart on low-quality hardware or graphics drivers with bugs or issues (e.g. Graphics Adapter Drivers), it might face various visual errors or even crashes of the application.

Checking your Video Adapter with DXDiag

If you experience problems with the Visual Xccelerator Engine in Scichart then the first thing to check is your video adapter with DXDiag.exe.

Start DXDiag.exe from the start menu in Windows 10 and go to Display adapters. Send a screenshot of the display adapters specifications to support. In particular, the Graphics Card model number, the Video Memory and the Feature Levels are needed.

SciChart WPF's Visual Xccelerator engine has a minimum requirement of 256MB of Video Memory (VRAM). Less than this, and you may experience problems. There is a workaround listed below for PCs which do not meet the minimum requirement ...

 

Checking Visual Xccelerator Compatibility

If you experience problems with the Visual Xccelerator Engine in SciChart WPF, Access Violations, or failure to load charts or crashes, then aftre collecting data from DXDiag.exe, download and run the GPU Compatibility Tester tool that we've published to our Github repository.

This is located at github.com/ABTSoftware/SciChart.GpuCapabilityTest

Download and run the application (requires Visual C++ tools 142) and check the output window. For correct operation you will see a success message when creating both DirectX 9 and 11 graphics devices.

Report any error messages or problems shown here to SciChart Support.

 

If Video Memory is too small, or failed to create a device

We have noticed some problems with the Visual Xccelerator engine and Intel HD 4000 series and sometimes Intel HD 5000 graphics adapters. On these cards you can get crashes, or corruption of the visual image. 

These video cards have a very small amount of video RAM (graphics memory). SciChart's Visual Xccelerator Engine requires a graphics card with at least 128MB of Video RAM, and 256MB or more is desirable.

We have a workaround when experiencing some of these problems, and that is to force DirectX9 mode, which uses less memory than DirectX11 mode in SciChart. To specifically enable DirectX9, use this code:

    /// <summary>
    /// Interaction logic for App.xaml
    /// </summary>
    public partial class App : Application
    {
        public App()
        {
            InitializeComponent();
          
            // Restart 2D engine with D3D9   
            VisualXcceleratorRenderSurface.RestartEngineWith(DirectXMode.DirectX9c);
           
            // For 3D Charts only: Restart 3D engine with D3D9
            Viewport3D.Restart3DEngineWith(DirectXMode.DirectX9c, FullScreenAntiAliasingMode.None, true);
        }
    }

 

This code should be called before any chart is shown. This will ensure that the chart starts up in DirectX9 mode and can solve compatibility issues on some hardware.

AutoDetecting Video RAM and downgrading to DirectX9

We are planning to add the feature to autodetect Video RAM and downgrade to DirectX9 in the next release of SciChart WPF: v6.2.0.

Once this has been added you will be able to run your applications without any code like the example above and SciChart will automatically downgrade to DirectX9 mode if you don't have enough Video RAM to run the DirectX11 version.  

 

See Also