SciChart WPF 2D Charts > Advanced 2D Charting Topics > Enabling The Visual Xccelerator Engine
Enabling The Visual Xccelerator Engine

What is the Visual Xccelerator Engine?

The Visual Xccelerator Engine (VXccelEngine2D/3D.dll) is a proprietary, in-house, C++ cross platform 3D graphics engine which we have built in order to bring our high performance 2D & 3D Charts to a number of platforms, including Windows (WPF), Mobile (iOS, Android), as well as future platforms including Mac OSX, Linux and in web browsers with Javascript & WebAssembly.

The engine is entirely hardware accelerated and platform agnostic: targetting DirectX on Windows, Metal on iOS / Mac OSX, OpenGL ES 2/3 on Android and WebGL in the browser.

In our WPF Charts Visual Xccelerator is used to get absolutely insane performance: now you can render millions, tens of millions, hundreds of millions or even in excess of a billion data-points in real-time depending on chart type and hardware configuration.

How to Enable it?

In SciChart WPF, the HighSpeedRenderSurface (a software, low quality rendering plugin) is the default. You will need to explicitly enable our new DirectX engine on your charts with the following code:

<!--
    s:VisualXcceleratorEngine.IsEnabled enables our new super fast DirectX 9,10,11 engine      
    FallbackType means fall back to this renderer if DirectX not supported 
    DowngradeWithoutException=False means it will throw exception if you don't support DirectX, otherwise, silent downgrade
    EnableImpossibleMode enables experimental data-processing algorithms which are up to 100x faster for massive data-sets such as 1-billion points. Leave this mode OFF unless your point count is huge (50M+)
-->
<s:SciChartSurface s:VisualXcceleratorEngine.IsEnabled="True"
                   s:VisualXcceleratorEngine.FallbackType="{x:Type s:HighQualityRenderSurface}"
                   s:VisualXcceleratorEngine.DowngradeWithoutException="False"
                   s:VisualXcceleratorEngine.EnableImpossibleMode="True">
    
     <!-- the rest of the SciChart API is unchanged -->
 
</s:SciChartSurface>
// s:VisualXcceleratorEngine.IsEnabled enables our new super fast DirectX 9,10,11 engine     
// FallbackType means fall back to this renderer if DirectX not supported
// DowngradeWithoutException=False means it will throw exception if you don't support DirectX, otherwise, silent downgrade
// EnableImpossibleMode enables experimental data-processing algorithms which are up to 100x faster for massive data-sets such as 1-billion points
VisualXcceleratorEngine.SetIsEnabled(sciChartSurface, true);
VisualXcceleratorEngine.SetFallbackType(sciChartSurface, typeof(HighQualityRenderSurface));
VisualXcceleratorEngine.SetDowngradeWithoutException(sciChartSurface, false);
VisualXcceleratorEngine.SetEnableImpossibleMode(sciChartSurface, true);
// The rest of the SciChart API is unchanged

How to check it is enabled.

Once you have enabled our engine, to check that it is correctly installed, check the type of RenderSurface on the SciChartSurface.

For example:

Check VXccelEngine is installed
Copy Code
if (sciChartSurface.RenderSurface.GetType() == typeof (VisualXcceleratorRenderSurface))
{
    // DirectX is enabled!
}

Hardware requirements & Software Fallback

Visual Xccelerator requires a DirectX 9c graphics card. DirectX 11 capable GPU or better is recommended.

Without a GPU capable of DirectX hardware acceration, the charts will automatically fall back to software rendering. You can specify which software renderer with the attached property VisualXcceleratorEngine.SetFallbackType.

Deployment

Unlike the Direct3D11RenderSurface as part of the SciChart.DirectX package you had to worry about deployment of SharpDX, and in the past you had to worry about the Visual C++ runtime for our 3D Charts.

With the Visual Xccelerator engine neither of these are necessary. Deployment is just as if you had consumed a C# .NET DLL from NuGet. Just reference it in Visual Studio and it just works! 

Learn More

You can learn more about the performance improvements in the Visual Xccelerator Engine at the following page: SciChart WPF v6 'Xccelerated Edition' Up to 100x (10,000%) Faster WPF Charts!