Pre loader

SciChart WPF v6.4 Released!

SciChart WPF v6.4 Released!

We are pleased to announce that the SciChart WPF v6.4 build 13629 has now been released! This update includes new features, a number of bug fixes, and minor enhancements requested by users since version 6.3.x. This release is a drop-in replacement for 6.x and it is recommended for all users to update.

What’s New in SciChart v6.4?

Enabled UseAlternativeFillSource by default

We decided to enable this option by default due to various stability issues when using the default D3DImage method in WPF. This was leading to some crashes of software running SciChart on some machines. You can find more info about this functionality in the article at the link below: https://docs.microsoft.com/en-us/windows/win32/direct3darticles/surface-sharing-between-windows-graphics-apis

Enabling UseAlternativeFillSource slightly changes the drawing pipeline. This method reads the rendered output back from GPU memory to main memory before setting it on a WPF image in a bitmap, sending it back to the GPU. The performance impact caused by this change is insignificant (about a millisecond on modern GPUs) and can be neglected.

To disable it please set static property VisualXcceleratorEngine.UseAlternativeFillSource to “False” anywhere in code.

New Features and examples

3D light modes

This feature introduces dynamic scene lighting to SciChart 3D. It allows users to control the light direction in 3D charts. It is enabled on the SciChart3DSurface using Viewport3D methods. The Viewport3D is attached to the SciChart3DSurface.Viewport3D property and may be used to customize the presentation of the 3D Scene.

To use it, you have to set LightMode to “GlobalSpace” on the current Viewport3D instance:

viewport.SetMainLightMode(MainLightMode.GlobalSpace);

Then LightDirection can be set as a vector in global space coordinates:

var vector = viewport.GetMainLightDirection();

vector.x = 0.25f;
vector.y = 0.5f;
vector.z = -0.5f;

viewport.SetMainLightDirection(vector);

The LightDirection vector is normalized, so its components can obtain values from -1 to 1.

You can try it in our examples demo. Clicking LD button on the left lets switching between main light modes. You can also change X,Y,Z light direction properties to see how the viewport of the 3D Chart changes.

Read the documentation on How to configure scene lightning in WPF 3D Chart with SciChart .

Multiple Axis Markers for the SeriesValueModifier on a composite renderable series

This feature allows adding multiple axis markers for the SeriesValueModifier on composite renderable series. By default, SeriesValueModifier shows multiple axis markers for the following composite series:
– Band Series
– Digital Band Series
– Grouped Column Series
– Stacked Column Series
– Stacked Mountain Series

If you need to create additional SeriesValue markers, you can inherit the default SeriesInfo provider and override the OnAppendDataColumnInfo method.

SeriesInfoProvider allows Modifiers to receive multiple information units from a single RenderableSeries. This is useful when there is a need to show several feedbacks, for instance, multiple AxisMarkers per one RenderableSeries with SeriesValueModifier. SeriesInfoProvider must implement the ISeriesInfoProvider interface and can be assigned to a RenderableSeries via the SeriesInfoProvider property.

Read the documentation on How to Use SeriesInfoProvider API in WPF 2D charts with SciChart.

Off-Screen Export Example

This is a very often asked question on our forums and support desk. Our team has created an off-screen export example that shows how to export a single chart, export multiple charts, and export with cloning.

Example UI and Single Chart Off-screen export

The example interface is simple and will save a png file of a chart that is created in code into the folder that you choose.

Export Multiple Charts

This exports multiple charts with different line thicknesses and colors, for example.

Export with Cloning

Allows exporting an image with a different size. When a user will be calling surface.ExportToFile(path, ExportType.Png, false, new Size(1200, 1200)), for example, will allow us to create a chart clone in code and then change its size. As the result, we can export a cloned chart of any size!

The difference between an original size chart export on and resized cloned chart export.

Important bug fixes

  • SC-5900 Fixed a crash in real-time example; Zoom made X-Axis only
  • SC-5918 Fixed crash when TradeAnnotations exported in memory
  • Fixed crash of some examples in Demo app when go to source code and submit feedback
  • SC-5910 Fixed crash in the Demo app after exporting to XPS
  • SC-5901 Fixed crash in Sandbox Plane3DAnnotation
  • Fixed crash in Sandbox KeyboardMoveXozModifier3D example
  • SC-5955 Fixed AccessViolation crash when rendering large StackedMountainSeries with Palette Provider
  • SC-5691 Fixed NullReferenceException when switching from a Single YAxis mode to multiple YAxis with an empty RenderableSeries
  • SC-5748 Fixed System.NullReferenceException when a Window with SciChartSurface inside was closed
  • SC-5780 Fixed exception when attempting to create an over-the-hardware-limits texture. Added a warning
  • SC-5770 Fixed ExportException during deserialization of the DiscontinuousDateTimeAxis
  • SC-5867 Fixed AxisMarkerAnnotation.IsPointWithinBounds causes NullReferenceException
  • SС-5889 Fixed ArgumentOutOfRangeException with MVVM API when RenderableSeries collection is Reset

Other bugs fixed and improvements made in 6.4

  • Added AxisBase.AllowFastMath property, turned off by default. This makes single precision shader based coordinate calculation an opt-in rather than heuristic-based.
  • SC-5702 Fixed issue with formating CategoryDateTimeAxis to show Labels in TextFormatting format
  • SC-5148 Fixed broken StackedSeries rendering with Logarithmic Y axis
  • Implemented drawing of DigitalBands, DigitalMountains using 2 separate meshes for fill and lines. Fixes overlap issue
  • SC-5714 Fixed AnnotationBase sets IsHidden directly, which may cause broken one-way Bindings
  • SC-5704 Fixed the issue when only some Annotations were hidden after a click on the “Show/Hide” button
  • SC-5372 Fixed disappearing BoxPlot, ScatterSeries when switching from VXccelarator to HighQuality
  • SC-5369 Fixed hangs caused by switching to SoftwareRenderer and back to VXccelarator
  • SC-5693 Fixed freezes on the tab switch when Tooltips are shown
  • Fixed visual bug with PaletteProvider with DigitalLines and DigitalBands, DigitalMountains
  • SC-5724 FastMountainRenderableSeries disappears when LogarithmicNumericAxis is used as YAxis and VXccelarator is enabled
  • SC-5492 “Realtime Polar” – remove RubberBandZoom
  • Fixed bug in ProcessStackedColumnVertex, the Y and Height were swapped
  • SC-5723 Allowed multiple individually configurable Light Sources and selectable shading model. Created an example
  • SC-5683 Fixed wrong Redo in the “Simple Undo Redo” example after zoom-undo-scale-undo procedure
  • Fixed issue with inverted gradient in columns that shows in StackedBar chart
  • SC-5777 Added an example showing in-memory rendering to the Sandbox
  • SC-5766 Fixed missing PointMarkers from the second series of FastBandRenderableSeries when VisualXcceleratorEngine is disabled; Made PointMarkers from second series visible in non-Vxccel rendering
  • SC-5761 Fixed slow DrawLine(..) method with HighQuality
  • Fixed default NormalYValue with YValueSelector in LineDrawingProvider and PointMarkerDrawingProvider
  • SC-5763 Added an option to switch between PeakDetector mode and ordinary mode to FastUniformHeatmapSeries
  • SC-5659 Fixed issue with showing values for StackedSeries in SeriesValueModifier
  • Fixed the issue when RadarPolygonSeries would throw with VXccel
  • Fixed incorrect StrokeDashArray usage for Y1 line of BandSeries
  • SC-5894 Fixed drawing artifacts when Zoom to Extents
  • Fixed missing behavior of MaxHistoBarCandles
  • Fixed the issue when FontSize coulndt become zero
  • SC-5851 Updated BandDrawingProvider to support overridden Fill and Stroke from PaletteProvider
  • SC-5844 Fixed incorrect indexes across PaletteProviders for MountainRenderableSeries
  • SC-5797 Fixed issue when XAML style with DrawLabels=False is applied via AxisViewModel.StyleKey
  • SC-5856 Fixed default AxisTitleStyle which caused Binding Errors
  • SC-5659 Added SeriesInfoProvider to generate a SeriesInfo with data columns
  • SC-5659 Fixed issue with removing old AxisMarkers in SeriesValueModifier
  • SC-5941 Fixed issue in ClosedLines mode with VXccel
  • SC-5897 Sandbox 3DChartSelectPointsOnSurfaceMesh: fixed 3DSurfaceMesh whith flipped X,Z axes
  • SC-5920 Fixed: Annotation AnchorPoints don’t have effect when export with Size
  • SC-5891 Fixed coordinate calculations when a chart is zoomed in
  • SC-5914 Fixed an issue in DashboardStylePolarCharts: series disappears if Renderer changes
  • SC-5919 Fixed size of Selected PointMarkers not preserved when export with Size
  • SC-5923 Fixed ErrorBars selection issues
  • SC-5929 Fixed examples where Modifiers didnt work on LMB
  • SC-5890 Fixed FastBandSeries – incorrect (stepped) semi-transparent fill
  • Fixed not supported BeginInvoke(..) for .Net Core platform
  • SC-5951 Fixed zero StrokeThickness issue for DigitalBand and DigitalMountain
  • SC-5905 Fixed corner issues in 2d columns shader
  • Fixed the single flashing frame issue
  • Engine update: added support for OBJ material libraries (loading obj models with multiple geometries, preparing obj loader to use load mutiple geomeries, a new string tools function)
  • SC-5891 Fixed clipping in case 2 lines are meeting outside viewport

Where to Get SciChart WPF? 

SciChart WPF Chart Library v6.4 is available by:

  • Downloading from our scichart.com/downloads page.
  • Using Install-Package or Update-Package from NuGet.
  • By cloning or downloading the 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!

Pricing and Licensing

SciChart WPF v6.4 is free of charge to customers with an active Support-Subscription.

For new customers, please find our pricing at our store page.

If your support has expired and you would like to get access to the improvements & fixes in this release, contact-sales and we will prepare you a renewal quote.

Best regards,
Julia
[SciChart Team]

By Julia Skorobogata | Jul 13, 2021
I contribute to the growth and development of SciChart, assisting my team with sales, marketing, and project management.

Leave a Reply