RSS Feed
News
Nov
28
Posted by Andrew on 28 November 2019 06:58 PM

Following on from last weeks announcement on the BETA of version 6 of our WPF Charts SDK, in this article we talk about the new cutting-edge overhaul to our High Performance Real-time WPF Chart component, which we’re calling ‘SciChart WPF: Xccelerated Edition’.

SciChart SDK v6 brings you performance increases of up to 100x (10,000%) across WPF Chart types, allowing you to create the most demanding scientific, financial and big-data enterprise applications, all without changing or sacrificing our powerful & flexible XAML-friendly, MVVM ready WPF chart API.

Why did we improve performance?

Our charts already provided the cutting edge in data visualisation, providing high performance for real-time and big-data projects, and are used by market leaders in scientific & financial sectors to deliver unbelievable results.

However, our top feature request by our customers was to push the boundaries and limitations of WPF Chart performance even further. Our customers have demanding projects, innovating globally, with a need to visualise more and more data every year. Our users found that as the number of data-points they wanted to visualise increased, or when including intensive graphics such as Band charts, Mountain, or Stacked Column charts in their applications, or complex multi-chart dashboards, better performance was needed to handle hundreds of millions, or even billions of points, especially in real-time.

The SciChart Feature Request portal had 'improve performance of SciChart WPF' as the highest rated feature request in 2019. So, you asked, we delivered!
Above: The SciChart Feature Request portal had ‘improve performance of SciChart WPF’ as the highest rated feature request in 2019. So, you asked, we delivered!

SciChart WPF was already very fast, exhibiting outstanding performance due to our DirectX rendering pipeline, and optimised data-processing algorithms. However, our clients in sectors such as Aerospace, Engineering, Medical Device manufacturers or even Formula 1 keep pushing the boundary of what is possible by creating dashboards with hundreds, even thousands of series, like this one below (see case studies).

Above: an example of a real-time racing car dashboard built by a customer of SciChart. Telemetry data from over 300 sensors was transferred from the race car to the WPF software, which monitored braking, acceleration, engine performance acceleration and forces. Complex applications will benefit from the extreme performance enhancements in SciChart WPF v6.

Knowing what our top clients in Formula 1, Medical Device, Engineering & Aerospace sectors needed to achieve in their project goals, we set about to implement a more optimal solution for complex, real-world scenarios.

Having invested into R&D and recruiting experts around the world, we have now investigated performance throughout our software and have come up with a revolutionary plan to dramatically improve performance across ALL chart types. Our work has been completed and is almost ready for release!

Our Solution

We’ve built the worlds most flexible, and fully featured WPF charting component, rated by users as the best WPF chart, but with this popular feature request of ‘faster performance’ we’ve focused on improving our charting speed even more, bringing cutting edge GPU-accelerated technology to sectors such Finance, Scientific, Medical, Aerospace, F1 & more.

SciChart brings you the world’s fastest WPF chart components, up to 100x (10,000%) faster than our previous version, and surpassing all known competitors!

To achieve this, we have built a completely new proprietary cross-platform rendering engine, code-named ‘Visual Xccelerator ™’. Our engine fully leverages DirectX/OpenGL/Metal and is implemented in C++ for unbelievable performance. A world first. We’ve combined this with a complete re-write of our SciChart WPF internals, having redesigned the component from the ground up, to fully leverage GPU hardware and to scale with future hardware improvements.

SciChart is now only limited by your computer’s memory bandwidth and GPU capabilities. We’ve pushed the boundaries of graphics and data visualisation and we’ve done it in such a way that these improvements won’t affect our existing XAML-based, MVVM-friendly API and should be for many customers, a drop-in replacement to your existing applications.

Furthermore, to future proof ourselves, our Visual Xccelerator™ engine allows us to fully GPU accelerate our 2D/3D charts on WPF (Windows) but also iOS, Android and future platforms like MacOSX and even Web. As we roll out our cross-platform vision, we will surpass charts written in JavaScript by orders of magnitude, as the C++ engine is already capable of running on the web.

Performance Results

The resulting performance enhancements really are impossible. SciChart WPF Xccelerated Edition is up to 10,240% faster than SciChart v5.x, on average ~5,000% faster, surpassing all known WPF Chart competitors. You can buy with confidence knowing that with SciChart, you’ll have the world’s fastest WPF Chart at your fingertips, and plot real-time data at warp-speed with our new Visual Xccelerator™ engine.

Overall performance improvements in SciChart WPF v6 compared to SciChart WPF v5. Now you can plot charts at warp speed with SciChart!
Above: Overall performance improvements in SciChart WPF v6 compared to SciChart WPF v5. Now you can plot charts at warp speed with SciChart!

These performance improvements really are application wide, with the new engine enabled (see below), you’ll see improvements straightaway to line charts, scatter, band, mountain, area, candlestick, column, as well as real-time big-data charts.

The CPU usage is significantly lower & memory usage has been optimised as well. With SciChart WPF Xccelerated Edition, more of your computing resources will be free to perform other intensive tasks, and the UI of your applications will be more responsive under even the most demanding conditions.

See below for detailed benchmarks and performance comparisons.

The Performance Test Suite

To test our charts performance internally and measure performance gain as we developed this update, we’ve written a complete test-suite to cover all kinds of WPF Chart performance cases.

Charting performance is complex and must be measured in a variety of ways to see an overall improvement. Line series with millions (now billions) of points is one such test, but what about unsorted freeform XY data, scatter charts, real-time updates? What about band charts, or mountain charts, or thousands of series, or candlestick/OHLC charts? What about chart window resizing tests?

Above: We built a Performance Test Suite internally to check all our chart types, static and real-time cases, and to help us to diagnose and improve performance throughout SciChart, so that we can comprehensively measure, test and demonstrate performance improvements across chart types.

The SciChart WPF performance test-suite (above) has chosen test-cases which pushed our last version (SciChart WPF v5) to the limit, then shows the massive performance improvements in SciChart WPF v6. It includes a number of complex scenarios, such as:

  • Real-time Chart Performance, When many series (up to 1 Billion Points), when massive arrays or when real-time updating
  • Real-time Line Charts with appending tens of millions of new data-points per second.
  • Line charts with unsorted XY Freeform data (up to 10-Million points)
  • Scatter chart performance, when massive series of Freeform XY data (10 Million Points)
  • Band Series, a complex geometry when many series / points
  • Candlestick Series, when many series / points
  • OHLC Series, often used in financial applications
  • Column Series
  • Stacked Mountain / Stacked Column Series
  • Core data-processing algorithms which are key to the incredible performance you see in SciChart.

We’ve taken the time to develop this comprehensive performance test-suite in-house so that we can measure the improvement across a wide variety of demanding conditions, not just optimise one or two cases and declare ourselves ‘the fastest’. We have confidence that the results we present below are both accurate and a truthful representation of our WPF chart performance, as we’ve gone to extreme lengths to measure, test and optimise rendering speed.

We’ve decided not to publish this test suite, as it could be used by competitors to measure and tune their own chart performance, however, if you or your team would like a tech demo, then please contact us and we would be happy to arrange one.

Test Results in Table Format

The test results are included below.

Test Setup: Intel i7 4.6GHz, 32 GB DDR4 RAM, nVidia GTX 1070 GPU.

Basic Drawing Tests

Below are test results for basic drawing of several different chart types. We’ve gone further than previous iterations of SciChart by improving everything. Not just faster line series or scatter but also Band series, Mountain, Candlestick, Stacked Column … all chart types have gotten the same treatment to dramatically improve performance.

Test case SciChart v5SciChart v6Performance Increase
Line Series 10M Unsorted Data2.2631.681401.77%
Scatter Series 10M Unsorted Data6.4236.46567.91%
Mountain Series 1k x 1k0.6658.398846.97%
Band Series 1k x 1k 0.5758.3710240.35%
Column Series 1k x 1k0.9158.876469.23%
CandlestickSeries 1k x 1k1.456.624044.29%
OHLC Series 1k x 1k0.557.5611512.00%
Stacked Mountain 10 x 10k14.2359.89420.87%
Stacked Column 10x 10k12.7859.9468.70%
SciChart WPF v6 Performance Improvements across multiple chart types.
Above: SciChart WPF v6 Performance improvements for basic chart types including Line, Scatter, Candlestick, Ohlc, Band, Mountain and Stacked Column / Mountain

In summary:

  • Line Charts with unsorted data (10 Million Points) are now 1,401% faster.
  • Scatter series (10 Million Points) are 567% faster.
  • Mountain and Band charts (1,000 series x 1,000 points) are between 8,846% and 10,240% faster.
  • Column series (1,000 series x 1,000 points) are 6,469% faster.
  • Candlestick series (1,000 series x 1,000 points) are 4,044% faster while OHLC charts are a staggering 11,512% faster.
  • Even complex Stacked Mountain and Stacked Column charts are between 420% and 468% faster.

Realtime Drawing Tests

Static chart types are tested above, but what about real-time scrolling or streaming charts?

We’ve made multiple algorithmic changes throughout SciChart to how the data is being processed for rendering on screen and to squeeze every last cycle out of the CPU. The results are staggering. SciChart WPF v6 is up to 6,157% faster for drawing realtime charts, and can now render up to 1-billion points at 60 FPS.

Test case SciChart v5SciChart v6Speedup
FIFO Series Streaming 10M57.959.69103.09%
FIFO Series Streaming 50M15.6560.05383.71%
FIFO Series Streaming 100M8.1560.05736.81%
FIFO Series Streaming 500M1.6959.163500.59%
FIFO Series Streaming 1 BN0.9659.116157.29%
Append 3Million + 10k37.8759.63157.46%
Append 3Million + 100k14.5554.39373.81%
Append 30 Million + 10k12.557.03456.24%
Append 30 Million + 100k6.8251.84760.12%

The FIFO Tests above show a static number of points scrolling from left to right. For instance, 10 Million, 50 Million, 100 Million, 500 Million or 1 Billion data-points with up to 3,000,000 (3 Million) new data-points added and scrolled to the chart per second, all render at 60 FPS.

The Append Tests start off with a starting number of points (either 3 Million or 30 Million) then append a certain amount as fast as it can to three series. The most challenging test case starts with 30 Million Points and appends 100k to 3 series at 51.84 FPS. A total of over 15 Million new Data-Points per second.

SciChart WPF v6 Performance Improvements in big-data and real-time charts. We can now render up to 1,000,000,000 (1 Billion) points at 60 FPS
Above: SciChart WPF v6 performance in real-time charts, or big-data charts. We can now render 1,000,000,000 (1 Billion) points at 60 FPS.

Real-time performance improvements of SciChart WPF v6 are absolutely staggering. Make no mistake, these are the world’s fastest WPF Charts by a considerable margin.

Edge Case Drawing Tests

SciChart WPF v5 could draw line charts pretty fast, but if you added in edge-cases such as changing the colour per-point, or including gaps in series with double.NaN, or dashed lines, or digital lines, the extra processing would slow down the chart. In SciChart WPF v6, we have improved all these scenarios. Take a look at the test results below.

Test case SciChart v5SciChart v6Performance Increase
Line Series 1k x 1k default20.2359.16292.44%
Line Series 1k x 1k with PaletteProvider0.8934.483874.16%
Line Series 1k x 1k Dashed lines18.358.21318.09%
Line Series 1k x 1k with NaN gaps8.8959.49669.18%
Line Series 1k x 1k Digital Line12.6458.8465.19%
SciChart WPF v6 Performance Improvements in edge cases, such as when Dashed Line, PaletteProvider, gaps in series

In summary:

  • The control test (1,000 line series x 1,000 points) is 292% faster.
  • However … with PaletteProvider (changing colour per point) it is 3,874% faster.
  • … with dashed lines is 318% faster .
  • … with gaps in series using double.NaN, is 669% faster.
  • … with digital (step) line is 465% faster.

These really are our fastest ever WPF charts and the results are astonishing: SciChart WPF v6 is on average 5,000% faster than SciChart v5, and all scenarios perform faster than our previous WPF chart version.

The World’s Fastest Chart

What about competitors? There are other chart vendors claiming they have the world’s fastest WPF Charts, or that they have unmatched performance.

Across a battery of demanding, real-time tests, SciChart not only outperforms all known competitors in terms of refresh rate, but also UI responsiveness, with lower CPU usage and Memory usage, providing you with extremely efficient big-data, real-time data-visualisation.

Note that most commercial or open-source WPF Chart components really don’t come close to SciChart in terms of performance, and the test cases below are extremely demanding (line charts up to 2,000 series x 2,000 points, charts with over 100 Million real-time points, scatter charts with 10 Million points). Against almost all competitor charts, SciChart is several orders of magnitude faster.

Below we’ve chosen one of our strongest competitors in terms of performance, and measured the speed of SciChart WPF v6 Xccelerated Edition vs. their charts.

When compared against this WPF Chart component in almost all cases, SciChart WPF v6 outperforms ‘Competitor A’. Not only higher FPS (frames per second), but also lower CPU usage and lower memory usage in almost all cases. The number of data-points processed per second is higher with SciChart, and in our tests we can comfortably process up to 15 Million new data-points per second at 50 FPS.

SciChart provides the world's fastest WPF Chart components for big-data, real-time applications in scientific, medical and financial sectors.
Above: When compared vs. even the toughest competitors and most demanding test cases, SciChart outperforms all known competitors in not only drawing speed, but also CPU and memory usage. Tests performed on i9 MacBook Pro 2018 with Radeon 560x Graphics.

You can be assured if you are selecting or evaluating chart components based on performance, that with SciChart WPF v6 ‘Xccelerated Edition’, you will be getting the world’s fastest WPF Chart control in your applications.

Not only that, also a component which is flexible, easy-to-use, rated as best, as well as award winning, with hopefully, a bright future in the cross-platform data-visualisation market!

How will this benefit customer applications?

If you already had no issue with the performance of SciChart WPF, then you may not feel you need more, but it can’t hurt! Faster WPF Charts will allow you to run your applications on lower-end hardware without harming user experience. It will also free up your CPU for other operations. Perhaps that UI could be a little bit more responsive, or you need the processing power for other tasks on your computer.

If you are one of our customers building a cutting-edge application, or pushing our charts to the limit, we’ve just raised the bar to the point where our software makes impossible projects become possible. This means more data, more dashboards, more visualisation without having to worry about the CPU hitting 100% or user interface lock-ups.

SciChart: Making Impossible Projects Possible

Try it for yourself!

Don’t just take our word for it. These are our fastest ever WPF Charts by a long way, and right now, the fastest WPF chart control in the world, which will give your applications a huge performance boost. You can try it for yourself by downloading the SciChart WPF v6 from NuGet, and using this code to enable the Visual Xccelerator™ rendering engine.

<!-- 
	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
-->
<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>

Our Fastest ever charts, offering world-class performance, all in a XAML-friendly, MVVM capable WPF chart library.

The Future – Cross Platform Graphics

Since 2017 we have shared a vision of being a market leader in real-time, high-performance, cross-platform 2D/3D charts. With our new proprietary C++ rendering engine code-named Visual Xccelerator™ we have now laid the groundwork.

Above: The SciChart Roadmap is coming to fruition. We now have a cross-platform 2D/3D engine (supports DirectX, OpenGL, Metal) and are rolling out across platforms, including WebAssembly/Javascript in 2020.

The same graphics engine which is used in our WPF 2D/3D charts is also used in SciChart iOS/Android, allowing for astonishingly fast 2D/3D charts with rich graphics on mobile. By effectively leveraging CPU and GPU, our charts now scale performance with faster graphics processors, so as more powerful graphics cards and more powerful mobile devices are released, you will see even more of a performance boost in your applications.

Visual Xccelerator™ works on Mac OSX, and even Web. We aim to be delivering to you the worlds fastest, and only, WebAssembly and WebGL powered chart for Javascript and browser applications in 2020.

We’ve built the worlds most versatile charting component on Windows and mobile, and now have the Worlds Fastest Cross-platform 2D/3D charting component, fully focussed on performance, allowing you to make impossible projects possible.

Above: With our new proprietary, cross-platform 3D graphics engine, SciChart SDK v6 is a huge step toward our vision of becoming the market leader in cross-platform real-time charting

How to get SciChart WPF v6 ‘Xccelerated Edition’

We are currently in BETA for SciChart WPF v6, and you can find out how to access the BETA here. Upon release, we will be upgrading existing customers or allowing you to upgrade/renew as follows.

Existing Customers in Support

If you are a customer of SciChart WPF 2D Professional, SciChart WPF 2D Enterprise, SciChart WPF SDK Professional or Enterprise with an active support subscription, then good news! You will get SciChart WPF v6 ‘Xccelerated Edition’ free of charge as part of your support & updates subscription when we release.

There’s nothing to purchase, but you will need to get a refreshed licensing key as our licensing mechanism has changed (more instructions to follow). Head on over to our downloads page to get the latest SDK and install it, and you should be good to go.

Previous Customers with Support Expired

Ahhh … that’s awkward … so you let your support expire? We’re sorry, but you won’t be able to get this edition 
					</td></tr>
					<tr>
					<td colspan=


Comments (0)

CONTACT US

Not sure where to start? Contact us, we are happy to help!


CONTACT US

SciChart Ltd, 16 Beaufort Court, Admirals Way, Docklands, London, E14 9XL. Email: Legal Company Number: 07430048, VAT Number: 101957725