We are pleased to announce that the SciChart WPF v6.5 build 13720 has now been released! This update includes a number of excellent new features, lots of stability fixes and performance & memory enhancements. This release is a drop-in replacement for 6.x and it is backward compatible for users of SciChart WPF version 6.
What’s New in SciChart v6.5?
Windows 11 Officially Supported
It’s always pleasant to bring SciChart to new platforms and runtimes. Even though in most cases SciChart WPF ‘Just worked’ on the latest version of Windows, we are delighted to announce SciChart WPF v6.5 now has official support of Windows 11. More to come later!
Parallel Coordinate Plot Chart Type
A feature request from an enterprise customer – we’ve added a Parallel Coordinate Plot to SciChart WPF. This is a chart type used for visualizing and analysing multi-dimensional statistical datasets. For example, it can be used to compare several sets of observations (represented by lines) of a combination of different factors (each represented by an axis) to find and visualize relationships between them.
In SciChart, the Parallel Coordinate Plot is represented by a new Control type called SciChartParallelCoordinateSurface. It is capable of rendering thousands of series or records, connected either by straight lines or splines. It is possible to have multiple Y-Axes representing different categories, each with a corresponding scale. Series may be selected. Individual styling of Y-Axes is also supported. Zooming, panning and Series selection is provided by corresponding ChartModifiers.
New Uniform Data Series type
Another feature hotly requested on our Feature Request System. We’ve created a brand-new Data Series type called the UniformXyDataSeries. This uses Y-values only and assumes a fixed-stepping for X-Values. This saves 50% of the memory required in the most performance-intensive and demanding applications where data is sampled from data acquisition hardware, sensors or logic analysers.
The UniformXyDataSeries has already been road-tested in an application we built for a customer, which had to display up to Tens of Billion Datapoints of acquired binary and analogue data from a Logic Analyzer.
The UniformXyDataSeries is performant into the tens of billions of data-points for static datasets. With our templated DataSeries types it supports float, double, byte, short, int or long types, with a fixed stepping computed by sample number and step size.
Note: This series type has not yet been optimised for real-time but we plan to do that soon! When we have, we will be updating you with how to use it.
Digital (Logic) Analyzer 64-Billion Point Performance Demo
To show you the speed & power of the UniformXyDataSeries we’ve created a new demo – the Digital Analyzer Performance Demo.
Modelled after a generic “Logic Analyzer” application it shows how SciChart is capable of displaying tens, hundreds of millions of even tens billions of datapoints of digital data acquired from Data Acquisition hardware, sensors, telemetry or logic analysers for this special case of time series with evenly spaced X-values.
Run the example by running the SciChart WPF Examples Suite -> And searching for ‘Digital Analyzer’
Here’s a video below of me running the Digital Analyzer Demo with 64 Billion Datapoints of digital data, all on a mid-level workstation with 64GB RAM and 6-core processor.
In fact, we’ve tested this up to 100 Billion data-points on powerful workstations (requires 128GB RAM).
SciChart is very capable for this kind of extreme big-data visualization in logic or hardware analysers, digital analysers or data acquisition hardware. No tricks, no if’s, no buts. We’ve worked hard to ensure every step of our graphics pipeline is fully optimised, using low-level gaming technology to achieve our incredible fast performance.
Shared Render Timer
Some applications such as those with tens or hundreds of charts, or applications with SciChart WPF hosted inside WinForms or Win32 suffered from performance problems due to scheduling of our rendering on WPF’s UI Thread.
To solve this problem we’ve introduced a new SharedRenderTimer that allows to sync rendering between multiple SciChartSurfaces. It can be enabled or disabled by setting static RenderSurfaceBase.UseThreadedRenderTimer property anywhere in your code.
It is demonstrated in the “50-Channel EEG” example in our Demo App, which contains a ListBox with 50 SciChartSurfaces that are updated simultaneously.
Use of the SharedRenderTimer can improve performance significantly in some apps but is not recommended for default operation. If in doubt, contact our helpful, knowledgeable tech support team who will advise you how best to use SciChart in your application.
Important Fixes & Improvements in v6.5
- SC-5964 Fixed an AccessViolationException crash when Axis Font is changed
- SC-5864 Fixed incorrect drawing of PointMarkers with selected PointMarkers
- SC-6139 Fixed some crashes in 2D examples in Demo App
- SC-6039 Improved export of SciChartSurface so it works consistently in all cases
- SC-5995 Improved VxRenderSettings – handling of memory buffers allocation, especially low-memory scenarios such as some on-board GPUs or Intel GPUs
- SC-5762 Fixed saving and loading of TradingAnnotations
- SC-6125 Implemented null-reference checks through unmanaged classes. These sometimes got Disposed but still called resulting in AccessViolationExceptions randomly in code. This fix will greatly improve stability of SciChart WPF
- SC-6220 Fixed MarketProfile mode in FastHistobarRenderableSeries – correct Ask and Bid volumes are passed to HistobarPaletteProvider now
- SC-5970 Improved OscilloscopeDemo: Rollover and Tooltip modifiers cannot be disabled
- SC-5966 Fixed issue when changing MinorsPerMajor property on a TimeSpanAxis had no effect
- SC-5959 Improved XPS export – axes do not contain bitmaps in exported image
- SC-5963 Fixed FastBandRenderableSeries Fill not working with HighSpeedRenderer depending on the floating values
- SC-5799 Fixed AnnotationCreationModifier, which didn’t preserve position of first point if chart is zoomed/panned during Annotation creation
- SC-5980 Fixed DataPointSelectionModifier.AllowMultiselection property. Now it allows selection of data points from different RenderableSeries simultaneously
- SC-6093 Allowed having Triggers in DataTemplate for SciChartGroup Panes
- SC-5450 Fixed an issue with small-value OHLC bars not visible with VXEngine
- Fixed setting of the Image inside RenderSurface to avoid misalignment of gridlines and ticks by setting proper Stretch mode
- Fixed case when SciChart didn’t fallback to software renderering on some Virtual Machines that resulted in a crash
- Added ability for SciChart to work on Virtual Machines with hardware acceleration turned off
- SC-5925 Added UseInterpolation option to Rollover menu in Toolbar
- SC-5970 Fixed OscilloscopeDemo: Rollover and Tooltip modifiers cannot be disabled
- SC-5924 Fixed Toolbar Menu placement in Demo App
- SC-6030 Improved “Drag Area to Zoom” example for consistent look & feel with other examples
- SC-6044 Fixed Watermark Annotation in “Annotations are Easy!” example. It was barely visible
- SC-6189 Used SharedRenderShedulerTimer in “50-Channels EEG” example
- SC-6114 Updated some examples in ExamplesDemo to showcase UniformXyDataSeries
We have also added a huge number of tests for covering new features, improvements and updated documentation.
We have re-tested performance across a variety of chart types & features. SciChart WPF is still to our knowledge, the World’s Fastest WPF chart component, allowing for an order of magnitude or more performance gain against even the strongest competitor, when tested in a number of challenging and varied real-world use-cases.
With SciChart WPF Chart Library, you can be confident you are buying the best WPF chart on the market. Not only best performing in a variety of real-world use cases, but also the best API to work with, certainly the friendliest and most helpful staff when you need help 🙂
Where to get SciChart WPF v6.5?
SciChart WPF v6.5 is available by:
- Downloading the installer from our scichart.com/downloads page
- Using Install-Package or Update-Package from Nuget
- By cloning and compiling the examples source code on Github.
- By cloning or downloading the SciChart source code on Github (source code customers only)
Please ensure you uninstall the previous version(s) of SciChart before installing the latest version as this can prevent some issues in the upgrade process!
We welcome your feedback! Please let us know what you think about our new features, examples and improvements. You can contact our friendly, helpful team at any time!