RSS Feed
SciChart WPF v4.2.3 Build 10185 Released!
Posted by Andrew on 05 June 2017 08:43 AM

It’s been a while since we’ve shipped a WPF release, as we are busy working on a number of exciting projects! However today we are pleased to announce that an important stability update for SciChart WPF: v4.2.3.10185 has been released.

What’s New in SciChart WPF v4.2.3.10185?

Lots and lots of bugs fixed! It is recommended for all users of SciChart WPF v4.x to update to the latest version, which should be a drop in replacement.

Critical Bugs (Crash or Memory Leak) Fixed
  • SC-4113 Fixed Memory Leak in DirectX when EnableForceWaitForGPU=true
  • SC-4096 Fixed an issue when RolloverModifier crashed when being synchronized and a surface placed in a TabControl
  • SC-4060 Fixed an export to XPS issue where AxisPanel would throw because of not frozen internal bitmap
  • SC-4085 Fixed the issue when LogarithmicAxis would crash if change ScientificNotation and use the default formatting
  • SC-4010 Fixed interaction between ZoomPanModifier and PinchZoomModifier, as well as mouse event handling after touch events
  • SC-4068 Fixed the issue when DataPointSelectionModifier threw on UpdateState
  • SC-4041 Fixes blank screen on restart after sleep in 3D Charts
  • SC-3368 Memory leak in DataSeries.Detach / _dsToNotify hashset
  • SC-4041 Fixes Unhandled NullReferenceException – Direct3D10Image.OnIsFrontBufferAvailableChanged
  • SC-4001 Fixed performance problem causing stutterring when Fifo Series and Legend is used
  • SC-4053: Added throwing proper information when user tries to bind annotation to non-existent axis; fixed crash when adding line annotation on chart without data
  • Fixes occasional InvalidOperationException / cross thread access in Direct3D10RenderSurface.Dispose when called from the finalizer thread
  • Fixed Thread safety issue in BitmapContext.Dispose(). Ensure dictionary of open contexts is locked before removal
Minor Improvements
  • SC-4114: fixed issue when dashed lines in legend don’t correctly represent their corresponding series
  • SC-4116: Proper zoom extents for StackedColumns when ZeroLineY equals min or max DataRange
  • SC-4115: fixed bad bindings for Ternaries Charts
  • SC3D-409 SurfaceMeshRenderableSeries does not respond to VisibleRange change
  • SC-4060 Added freezing of resources after deserialization
  • SC-4064 Fixed an issue when a SelectedSeries would become deselected after chart re-load in MVVM scenarios
  • SC-4059 Investigate ZoomPanModifier faster panning speed in MouseEventGroup – Merged pull request
  • SC-4058 Investigate jumping VisibleRange with CategoryAxis – Merged pull request #6 from
  • SC-4030 ThemeManager isn’t thread safe – Merged pull request #5 from
  • SC-4047: modified example to make DataPointSelectionModifier work with SplineLineRenderableSeries
  • SC-4057 Fixed the issue when PanModifier overrode the CursorProperty on the ParentSurface
  • SC-4031: added ability to set major and minor delta for category axes
  • SC-4035 Fixes after activating expired serial key, Licensing Wizard says Trial
  • SC-4026 Fixed and changed horizontal line annotation template
  • SC-4025 Fixed shared RolloverModifier work with vertical charts
  • SC-3997 Fixed the issue when RolloverModifier doesn’t work well on synchronized surfaces with different alignment of Y axis
  • Fixes bug where Text Values for double.NaN values in Heatmap cells are drawn as “NAN”
  • Fixed vertical alignment of text inside a chart legend
  • Fixed issue when scrolling for category axis started from wrong point – Merge pull request #8 from UnitedTraders/bugfix/too-fast-pan-fix-2
  • Fixed 3D Charts height map edges incorrect rendering
  • Fixes binding error in Using TooltipModifier Tooltips example
  • Made some properties in SeriesValueModifier protected to make overriding easier

Where to Get It?

SciChart WPF v4.2.3.10185 is available from the usual channels.

  • By downloading from our page
  • By Install-Package or Update-Package from NuGet
  • By cloning or downloading the source code on Github (source code customers only)

Please ensure you uninstall previous version(s) of SciChart before installing v4.2.3 as this can prevent some issues in the upgrade process!

What’s Coming Soon?

We are still working hard on a massive release of SciChart iOS & Android v2, which will include Xamarin.iOS and Xamarin.Android support. You can access early BETA’s of all three via our public Github repositories:

Each of the above repositories pulls binaries for SciChart iOS/Android/Xamarin v2 from Cocoapods (iOS), Maven (Android) and NuGet (Xamarin). Full build instructions are included in the in the above repositories.

SciChart WPF Development in progress

We are also still working on a major update to SciChart WPF. This will feature a number of new 2D+3D Chart types as well as improvements to speed, stability and API for our WPF customerbase.

We have delayed releasing this since we want to get it right, and we have so many users using SciChart WPF v4 with great success, that there is no significant rush to get to market and we want to ensure when we do deliver, it will be super-awesome.

If you want to preview SciChart WPF v5 you can do so, again via a public Github repository, which also pulls assemblies from NuGet.


Best regards,
[SciChart Team]


The post SciChart WPF v4.2.3 Build 10185 Released! appeared first on Fast, Native Chart Controls for WPF, iOS, Android and Xamarin.

Read more »

SciChart WPF Examples, Tutorials source now on GitHub!
Posted by Julia Skorobogata on 09 March 2017 09:00 AM

In the past few weeks, we have been working on shaping our product and vision for SciChart WPF, with the help of feedback from our userbase and potential customers. One of the requests which you have asked for is the ability to have the SciChart WPF Examples source code available *outside the installer*. As a result, we have taken the step to setup automatic publishing of the SciChart WPF Examples Suite to Github, referencing the SciChart WPF DLLs from NuGet. We are hoping that this will be a powerful resource which will enable our users to fall into the pit of success when using SciChart!

What is in SciChart WPF Examples Repository?

The SciChart WPF Examples Repository can be found on Github under the ABTSoftware organization. This is a public repository with an open source License. You are free to clone it using Git or SVN clients, download the code, and use anything in it for commercial or open source purposes.

The repository contains

SciChart WPF Examples Source Code
  • The full source code for the SciChart WPF v4.x Examples Suite
  • The full source code for the SciChart WPF v5.x Examples Suite (BETA)

WPF Charts by SciChart WPF v4 SDK

SciChart WPF Tutorials


SciChart WPF Examples Sandbox

Cloning the Repository and Building the Source

  • You can clone the repository with Git, Tortoise SVN client, or download a zip.
  • You will need Visual Studio 2010, 2012, 2013 or 2015 installed.
  • You will need to setup the NuGet feed as per our instructions ‘Getting Started with NuGet’
  • After that just build and run. The SciChart.Wpf.Examples will get all packages from NuGet and will build and run!

Wait, What? SciChart Examples v5?

That’s right! You heard correctly. We are now publishing an Early Access Preview of the the SciChart WPF Examples v5 to the Github repository, along side SciChart WPF v5 BETA to our abtsoftware-bleedig-edge (BETA) NuGet Feed.

SciChart WPF v5 IS A VERY EARLY BETA. This version of SciChart is very much in flux. We wanted to be able to showcase what we have been working on as well as give some of our customers early access to the next major version of SciChart, which is currently on schedule to be released in May.

WPF v5 Burndown Chart as of March 2016. Expected delivery in May 2016 WPF v5 Burndown Chart as of March 2016. Expected delivery in May 2016

If you want to see what we’re doing for SciChart WPF v5, head on over to our Public Issue Tracker where you can see the sprints, the tasks in progress and our statuses. ‘Delivered’ state means published to NuGet & Github!

New Features coming soon to SciChart WPF v5

WPF Radar Chart

From one of the surveys we learned that  Radar Charts are important to many users.

This 2D Chart will be added to SciChart WPF v 5 to allow displaying radars with customizable axes and selectable series or data-points. This chart type has been built from the ground up using our fast 2D drawing technology and looks great!

radarchart The WPF Radar Chart type allows unlimited, configurable ‘Radar Axis’ with data series as Polygons, Point-Markers or Lines. Tooltips and Legends and theming come as standard

You can see an example of use here.

WPF Discontinuous DateTime Axis

In WPF v5 new DiscontinuousDateTimeAxis type is going to be introduced. This is a special axis type, specifically for financial / trading charts, which will allow you to skip ranges (overnight, weekend). It will support series with differing lengths for the first time in trading charts. This opens the possibility of all sorts of indicators and filtering techniques previously impossible with SciChart. It will allow you to use Range, Tick, Volume or Time based bars. It preserves the position on Annotations on time-frame changes. It allows showing/hiding of overnight trading on exchanges with extended trading data.

discoaxis The DiscontinuousDateTimeAxis type allows Volume, Range, Price and Tick Bars as well as a calendar for skipping overnight segments/weekends for true support for financial stock charts.

You can see an example of use here.

Uniform Heatmap Type

The heatmap type is undergoing radical transformation. We have a new FastUniformHeatmapRenderableSeries. This is up to 10x faster than the existing FastHeatmapRenderableSeries for the case where cells are uniformly spaced and supports the PaletteProvider API. This works best with DirectX.

The Uniform heat map type has been heavily optimised, now yielding up to 10x faster rendering when compared to v4.x FastHeatmapRenderableSeries The Uniform heat map type has been heavily optimised, now yielding up to 10x faster rendering when compared to v4.x FastHeatmapRenderableSeries

You can see an example of use here

Non-Uniform Heatmap Type

Still in progress, we have a Non-Uniform heatmap type which will supercede the existing FastHeatmapRenderableSeries. This fixes issues where the Y cells don’t match the spacing provided by the user. We also hope it will be faster and more flexible than the existing FastHeatmapRenderableSeries. Still a work in progress 
						<br />
						<a class=Read more »

SciChart WPF v4.2.2 Build 9777 Released!
Posted by Julia Skorobogata on 17 February 2017 03:25 PM

We are pleased to announce the release of SciChart v4.2.2 Build 9777. This is a minor update which contains many critical bug fixes and minor improvements. It is strongly advised for users of SciChart v4.x to upgrade to this version, which is a drop-in replacement.

We’re committed to providing our customers with the best experience possible, and as a result, we continue to update and improve our popular WPF Charts components!


What’s New in v4.2.2?

Critical Bug Fixes
  • Updated Installer to force upgrade / uninstall of old version of scichart when installing 4.2.2. Fixes issue where SciChart Licensing Wizard crashes after install when a previous version was installed
  • Added some lock(SyncRoot) to public methods on DataSeries where getting indices range, or getting Y Range. Prevents race conditions and crashes.
  • SC-3946 VerticalLineAnnotation. ShowLabel crashing issue. Fix for Null reference exception in MouseDown event in a AnnotationLabel. fix for “disappearing proper Labels in VerticalLineAnnotation”
  • SC-3918 Fixed 3D VertexSelectionModifier crashes in some cases
  • Fix for memory leak in series binding (Ticket “Releasing Heatmap2DArrayDataSeries from memory”)
  • Test for releasing memmory when Collection is changing in Series biding.
  • Test for memory leak in Series binding caused by unsubscribing from ParentSurface event.
  • SC-3862 On Finalize of SciChartSurface in an ItemTemplate, you get occassional ‘Element has already has a logical parent. It must be detached from the old parent before it is attached to a new one’ error. Stopped removing Axis from SciChartSurface in Unloaded handler in Finalizer . SuspendUpdates around UpdateLayout() in PrepareSurfaceForExport stops exceptions thrown/caught in export
  • SC-3857 Fixed the issue when LogAxis threw if VisibleRange contained NaNs (
Other Bug Fixes
  • Added fix for Axis.TitleStyle with DataTemplate when exporting;
  • SC-3937 Dev Mode: add “Export to…” option to the Toolbar for testing purposes
  • SC-3958 Fixed the issue with points selection when selection rect goes outside the window bounds (
  • SC-3943 Fixed the issue with setting the Content property of CustomAnnotation to a non-UI element; added a test(
  • SC-3924 “Stacked Columns Side by Side”: rollover marker doesn’t appear. Added new control template and a style. Modified converter so that he can handle null values, we need this for GradientsBrush
  • SC-3926 Rollover/Cursor/Tooltip wrong tooltip for the last point in a digital series
  • SC-3199 Fixed “Create Custom Theme” example – no render series appear. because of Freeze AttachedProperty we can not create a modifieble copy of brush for XAML renderer
  • SC-3929 Fixed SelectionOffset issue in pie/donut charts
  • SC-3920 Fixed the “Using Tooltip Modifier Tooltips” example (
  • Fixed Legend PointMarker disappearing after export issue;
  • SC-3913 Fixed the issue when BoxPlotSeries doesn’t draw well on a vertical chart; added default fill brush for BoxPlotSeries; added lines clipping to the XAML RenderContext; added visual tests
  • Fixed legendModifier horizontal\vertical scrollbars visibility when exporting
  • Fixed draw text with YAxis.FlipCoordinate = false;
  • SC-3671 Fixed VerticalAlignment Top and Center issue in VerticalLineAnnotation. Added checking if anchors dataPoint are NaN. The same was done for HorizontalLineAnnotation
  • Added a test when all values are the same, autorange does not calculate an invalid range
API Improvements
  • Made AttachAnnotation/DetachAnnotation methods virtual in the CompositeAnnotation class to allow overidding the default behavior(see the ticket #PLL-483-27180);
  • Code refactoring. Added a possibility to override Modifier action when a specific Modifier Key is pressed.
  • SC-3934 Fixed the issue when MajorDelta,MinorDelta bindings get broken (or not updated) after changing AutoTicks. (
  • Fixed LegendModifier.Legend ScrollBarVisibility issues and binding errors
  • Supply correct error message in AxisCollection.GetAxisById() when more than one, or no axis exists with ID
  • SC-3859 ISciChartSurfaceBase interface does not include ExportToBitmap / ExportToFile methods
  • SC3D-359 Combined D3D9 and D3D10/11 C++ Dlls in SciChart3D Native to reduce DLL count and SciChart.Charting3D.Dll size by half.
    – Implemented mechanism to choose D3D9 or D3D11/10 in Viewport3D.cs.
    – Deleted all projects associated with D3D9
    – changed for native code to match twister changes
    – a flag can be used to start in d3d9 mode
  • Added missing XML comments for PieChart components;
  • Add ability to disable click Selection of segments
  • Rename property “AllowSelection” to “AllowClickSelection”
  • SC3D-361 Refactor SCRTImmediateDraw.SetBlendState() / SetRasterizerState() / SetDepthStencilState to use push pop stack
  • SC-3827 Modify SourceCollectionBase to link to INotifyCollectionChanged not ObservableCollection<IRenderableSeriesViewModel>
Aesthetic Issues Resolved
  • SC-3917 Fill gradients for candlesticks – refactored XamlPolygonDrawingContext a little (
  • SC-3917 Fixed candlesticks gradients for Hs, Hq brushes (
  • SC-3916 Fixed gradient for vertical charts with DirectX renderer
  • SC-3917 Improved candlestick series drawing with gradient brushes
  • SC-3916 Considered custom transformations on brush for gradient fill
  • SC-3957 Investigated and fixed when pie/donut charts not resizing well issue. Fixed pie/donut issue when one segment is 100% the pie disappears
  • SC-3917 FIxed gradient fill with XamlPolygonDrawingContext (
  • SC-3944 Fixed the issue with opacity not working for some series types; added tests (
  • SC-3914 Fixed series Opacity issue with XamlRenderContext. (
  • SC-3916 Working on gradient rotation for filled series – added rotation to XamlPolygonDrawingContext (
  • Fixed usage of aliasing in XamlLineDrawingContext
  • SC-3912 Demo App shows an old logo
  • Documentation: Updated Installing SciChart page to include Uninstalling
  • SC3D-362 3D CrossHairsMode.Plane is hard to see because of blending
  • SC-3836 Add box outline to 3D CubeGeometry example


Where to get it?!

You can get all the SciChart Releases from the page. If you haven’t created an account with yet, please do. You will need to in order to access the downloads.

If you are a customer of SciChart you can also access our binaries via our NuGet feed as well as Github (for source-code customers).

What Else is on our Roadmap?

Recently we have taken a moment to evaluate where we have been, and are planning to go as a business. There is SciChart Annual report 2016 which shows how we are doing as a business.

We have also shared SciChart Vision and Roadmap – for 2017 and beyond.

Please take a moment to read the above and we would very much value your feedback on our current and future roadmap for SciChart!

Best regards,
[SciChart Team]

The post SciChart WPF v4.2.2 Build 9777 Released! appeared first on Fast, Native Chart Controls for WPF, iOS, Android and Xamarin.

Read more »

DirectX WPF Chart Compatibility
Posted by Andrew on 17 January 2017 10:40 AM

SciChart now features an optional DirectX10 based renderer. This is currently included as an add-on to the SciChart High Performance WPF Charts library. For more info about the renderer plugins that SciChart provides, please see the articles High Quality vs. High Speed vs. DirectX Renderer Plugins as well as How Fast is SciChart’s DirectX WPF Chart.

Once we move away from the happy, safe world of .NET and into unmanaged code, we need to take a few extra steps to ensure compatibility! This post aims to address compatibility issues with using the Direct3D10RenderSurface, a premium add-on to SciChart High Performance WPF Charts.

Direct3D10RenderSurface System Requirements

Operating System Requirements

The SciChart Direct3D10RenderSurface requires Windows Vista, 7, 8, 8.1 or higher.

Hardware Requirements

The SciChart Direct3D10RenderSurface requires a DirectX10 compatible GPU.

You can check the DirectX version your GPU supports by running the DXDiag.exe application, found under your windows start menu.


The SciChart Direct3D10Renderer has a dependency on D3DX9_43.dll and D3DX10_43.dll.

D3DX9 and 10 are extensions to DirectX and are not installed with Windows as standard.

Deploying your SciChart Application with the Direct3D10RenderSurface

Developer PCs and End-User PCs have the same system requirements to run the SciChart DirectX Renderer. To ensure your SciChart application can use the Direct3D10RenderSurface wherever available, and downgrade to software renderer when not available, please follow these steps:

1. Enable the DirectX Renderer

Follow the example at Easy Fallback from DirectX to Software Rendering without code behind:

<SciChartSurface DirectXHelper.TryApplyDirectXRenderer="True">

2. Distribute SharpDX 2.6.2 with your Application

The Direct3D10RenderSurface also has a dependency on SharpDX v2.6.3 (a Managed Wrapper for DirectX, licensed under the MIT License).

Please make sure the following DLLs are in your output directory (where your application exe resides) when deploying applications with DirectX. SharpDX is also available on NuGet.

  • SharpDX.D3DCompiler.dll (part of SharpDX v2.6.3)
  • SharpDX.Direct3D9.dll
  • SharpDX.Direct3D10.dll
  • SharpDX.dll
  • SharpDX.DXGI.dll


3. Ensure the DirectX Runtime is installed on End-User PCs

All End-User PCs must have the DirectX Runtime installed. The package is included in the SciChart v3.2.4 or later installation directory at %InstallDir%\Prerequisites\DirectX.

You will need to include the DirectX Prerequisites and install DXSetup.exe on end-user PCs when you deploy your application*. To silently install the DirectX Runtime on end-user PC’s, please run the following command line in your application deployment process:

EXEC DXSetup.exe /silent

SciChart DirectX Prerequisites Installer

*Microsoft permits you to redistribute the above files with your end-user applications royalty free. The licensing terms for DXSetup can be found in the licensing agreement of the DirectX End-User Runtimes (June 2010)

Frequently Asked Questions

Q: How can I check at runtime if the DirectX renderer is supported on my PC?

A: You can use the Direct3D10CompatibilityHelper class!


/// <summary>
/// A helper class which can be used to detect if the Direct3D10 enhancements to SciChart can run on the current hardware & operating system
/// </summary>
public static class Direct3D10CompatibilityHelper
   /// <summary>
   /// Supported operating systems include Windows Vista, Windows 7, Windows 8, 8.1 and up. Windows XP, 2000, 2003 are not supported.
   /// </summary>
   public static bool IsSupportedOperatingSystem { get; }

   /// <summary>
   /// Determines if the DirectX10 Runtime Libraries can be found in the C:\Windows\System32 and C:\Windows\SysWow64 folders. If the libraries are not present, we recommend
   /// installing the DirectX Runtime from %SciChart Install Dir%/Prerequisites/DirectX.
   /// This installs platform specific libraries (x86, x64) and SciChart dynamically chooses the correct DirectX version at runtime
   /// </summary>
   public static bool HasDirectX10RuntimeInstalled { get; }

   /// <summary>
   /// Determines if the current GPU supports DirectX10 or later
   /// </summary>
   public static bool HasDirectX10CapableGpu { get; }

   /// <summary>
   /// Determines if the current hardware & software configuration fully supports DirectX10 or later
   /// </summary>
   public static bool SupportsDirectX10 { get { return IsSupportedOperatingSystem && HasDirectX10RuntimeInstalled && HasDirectX10CapableGpu; } }
Q: Do I have to install the DirectX Runtime on every End-User PC?

A: SciChart actually only requires D3DX9_43.dll and D3DX10_43.dll

The way to deploy them is by including DXSetup.exe and related files (found in the %SciChartInstallDir%\Prerequisites\DirectX folder) with your application deployment. You can run DXSetup on end-user PCs by calling the command line

EXEC DXSetup.exe /silent

Please note: The licensing terms for the DirectX Runtime restrict you from packaging or embedding the required DLLs with your application, but allows distributing DXSetup and associated files in the %SciChartInstallDir%/Prerequisites/DirectX folder. You must run the DXSetup installer on end-user PCs to remain compliant with Microsofts terms.

Q: Does the DirectX Renderer Work over Remote Desktop?

A: We use D3DImage, which is a Microsoft control that allows sharing of DirectX content with WPF, avoiding airspace issues and allowing fast interop between WPF’s DirectX9 and DirectX10 rendering.

Unfortunately D3DImage has a bug, a nasty one. It won’t work over remote desktop if your application is .NET4.0! It will work over Remote Desktop on .NET4.5 and above.

Since SciChart v4 we have developed a workaround where SciChart DirectX will now work over remote desktop. This is automatic and no changes need to be applied to your code.

Q: I am experiencing flicker with DirectX in my application

Please see this FAQ which talks about how to resolve the problem of Flickering Charts in SciChart.

Q: How much faster is the DirectX Renderer than the Software Renderer?

A: The answer will depend on your exact hardware, software configuration and what you are doing with the chart. In our tests we found the DirectX Renderer to be on average 3.92x faster than the High Speed software renderer, and with superior visual quality (sub-pixel antialiasing).

Not bad for a drop-in upgrade!


Got Feedback?

DirectX is a big part of our future, so we want to make this work for you. If you experience compatibility issues or other problems using the DirectX renderer, then please do get in contact with your feedback. We would love to be of assistance.


The post DirectX WPF Chart Compatibility appeared first on Fast, Native Chart Controls for WPF, iOS, Android and Xamarin.

Read more »

SciChart WPF v4.2.1 Build 9358 Released!
Posted by Julia Skorobogata on 28 December 2016 05:35 PM

Even during holidays our team can’t stop improving our WPF charts. We are pleased to announce that SciChart WPF v4.2.1 has now been released!

This release includes some critical bug fixes, including two memory leaks in SciChart 3D, as well as some minor features requested by our users over the past few weeks.

It is strongly advised for users of SciChart v4.x to upgrade to this version, which is a drop-in replacement.

SciChart WPF Task Tracker now Public

If you have a moment you can take a look at our Issue Tracker board showing the status of SciChart WPF. Our Issue Tracker is now public and has a new look. You can browse the status of sprints, tasks and bugs that you have reported.

Have a look below to see what’s in the release.

What’s New in v4.2.1?

Minor edits: 

  • Added PointLineRenderableSeries3D.IsAntialiased property;
  • Added missing TemplateParts descriptions for annotation types;   
  • Updated CrosshairLinesSceneEntity 3D to use antialiasing by default;
  • Added new ResamplingMode.MinOrMax;
    • Performs (Max) when points above zero, (Min) when points below zero, and MinMax when points span zero;
    • Reduces clutter on the chart for line series;
    • Allows correct output for Mountain and Column when (Max) mode is used and points span zero;   
  • Added GetSize and GetFontFace to TSRFont;
  • Modified Equals method for TextureKey class, so it compare Opacity. It’s needed for dynamic Opacity changing;
  • Added new Dependency Property “Opacity” for IRenderableSeries;
  • Updated RubberBandXyZoomModifier.PerformZoom to public virtual so that users can override it;
  • Made DefaultEntityIdProvider.GetEntityId() virtual so that users can override it.

Fixed a couple of things too:

  • SC3D-355 Fixed AccessViolationException on shutdown of an application with SciChart3D
  • SC3D-347 Fixed Native memory leak in SciChart3D after open/close window which contains a 3D Chart.
  • Fixed TSRFont leak in SCRTAxisCubeEntity.cpp;
  • SC-3797 Fixed Reported great decrease in performance of DataPointSelectionModifier;
  • SC3D-357 Fixed Selection always selects the last point;
  • SC-3548 Fixed FastColumnRenderableSeries does not display negative data once resampled;
  • SC-3796 Fixed rotated heatmap not drawing in hq, hs and xaml renders;
  • SC3D-349 Fixed Performance Decrease for PointLineRenderableSeries3D and SciChart3D charts from v4.1.1 to v4.2.0;
  • SC-3787 Fixed Tooltips to work with specific data mapping in Heatmap;  
  • SC-3795 Fixed the Setting Opacity to work well for RenderableSeries
  • Fixed Viewport3D removes RootEntity as well as disposes;
  • SC3D-346 Fixed TextSceneEntity / Font3D performance is terrible when 1,000 scene entities.
  • SC-3794 Fixed MaximumMeshID Exceeded when greater than 1,000 TextSceneEntitiy objects in the scene
  • SC-3784 Fixed SelectedPointMarker property was missed in BaseRenderableSeriesViewModel;
  • SC-3605 Fixed AnnotationCreation modify to allow continuous usage;
  • SC-3698 Fixed AxisMarkerAnnotation wrong mouse cursor;   
  • SC-3777 Fixed the Deviations from VisibleRangeLimit during zooming/ZoomExtents;
  • SC-3783 Fixed SciChartOverview update when SciStockChart & SciChartOverview is hidden;
  • Fixed hardcoded gaps in pie/donut charts and added some properties for it;
  • SC-3664 Fixed Disappearing HorizontalLine on the top edge;
  • SC-3664 Fixed Disappearing VerticalLine near the edge;   
  • Fixed SeriesSelectionModifier issue;
  • Fixed compilation error in TestSuite;
  • Fixed Heatmap tooltip getting Z-value if maping is flipped;   
  • Fixed SC-3798 RolloverModifier when it shows many tooltips in SciChart Trader example;
  • Fixed pie/donut selection event args;
  • SC-3801 Fixed the issue when AutoRange didn’t work for SurfaceMeshes;
  • Fixed a bug where font change only occurred on XAxis;
  • Fixed a bug where fonts were recreated every frame, causing slowdown;
  • Fixed issue where updating of Line/Tick line styles in AxisBase3D.ToAxisDescriptor caused an infinite redraw of the chart;

Where to get it?!

You can get all the SciChart Releases from the page. If you haven’t created an account with yet, please do. You will need to in order to access the downloads.

If you are a customer of SciChart you can also access our binaries via our NuGet feed as well as Github (for source-code customers).

Best regards,
[SciChart Team]

The post SciChart WPF v4.2.1 Build 9358 Released! appeared first on WPF Charts, iOS and Android Charts | SciChart.

Read more »

Requirements for 3D Surface Mesh Charts
Posted by Andrew on 24 November 2016 05:47 PM

Hey everyone!

Even though the release of SciChart WPF v4.2 is barely a day old(!) we are already hard at work on v4.3, where we intend to add some new features for SciChart WPF 3D Charts as well as several 2D Chart features. We want to get some information from you, our userbase, as to what requirements are most important to you. We also need to ask you a few questions about how you would expect correct usage of the 3D Chart.

Features Planned for v4.3

We are planning the following features for v4.3 of SciChart WPF and we need your feedback on them. Some questions and explanation are found below.

  1. SC3D-218 Support for contours on 3D Surface Mesh charts
  2. SC3D-336 Support for nulls (transparent cells) or override cell colours on 3D Surface Mesh charts
  3. SC3D-338 Support for Waterfall 3D Charts
  4. SC3D-337 Possibly: Support for non-uniform mesh sizes (pending feasibility)
  5. SC3D-326 Possibly: Virtualization of Surface Mesh where size exceeds 4096*4096 (pending feasibilty)
SC3D-218 Contours on Meshes

We can add contours on surface plots quite easily. Something like this:


This is quite easy to do, but we would like to know from you if (a) it is important, (b) you need to be able to configure the contour colours dynamically (per contour, as opposed to one colour for all), (c) whether you have any special requirements for placing contours, or if you would like SciChart to choose and (d) any other comments or suggestions for the API as we build it.

Can you contact us if this feature is important to you? Your input into the requirements would be greatly appreciated.

SC3D-336 Support for Nulls in Surface Meshes

A number of users have asked for nulls (transparent cells) in surface meshes. This sounds easy on the surface, but it isn’t … Nevertheless we want to deliver it. We do have some questions though.

Given a surface mesh with 8×8 data values, we end up with something like this (below). The data-points are shown by orange dots. The cells are the squares next to the dots.

8x8 Surface Mesh. Data-values are marked as orange points

8×8 Surface Mesh. Data-values are marked as orange points

As you can see, cell colour is specified by interpolating the four points surrounding a cell. For example, the cell in the top right has a data-value of Y=1 so it should be red, but it isn’t, it’s yellow, because it has two other edges which are only at Y=0.5.

Now if a user wants to specify a cell as transparent, for example the cell at X=1, Z=6, them you end up with this:

When one data-point is null at X=1,Z=6, four cells become transparent.

When one data-point is null at X=1,Z=6, four cells become transparent.

Now this obviously isn’t ideal. We thought about how to solve this.

We could allow you to specify a separate texture for the mask to ‘null’ certain cells, however you will notice that there are 8×8 data-points in the mesh, but only 7×7 cells, so the texture size doesn’t actually match the data size. This would allow you to mask out certain cells but it would also give you a clunky API and raise questions of accuracy because of the mismatch of sizes.

Another way is we could change how we are drawing the cell textures. We could offset the texture so that each square in the texture surrounds the data-point, for example:

Proposed solution: offsetting cell positions so the centre of the cell is over the data-point

Proposed solution: offsetting cell positions so the centre of the cell is over the data-point

This would be a nice solution except it raises two problems.

  1. At the edges you get half a cell. Might look wierd.
  2. The wireframe position (which goes through the data-points) no longer matches the cell edges. When SurfaceMeshRenderableSeries3D.MeshPaletteMode is HeightMapInterpolated, but might look odd when SurfaceMeshRenderableSeries3D.MeshPaletteMode is HeightMapSolidCells.

We invite your comment/feedback on this proposed solution and whether it seems correct. It is very important to us that our scientific WPF Charts are both intuitive and accurate.

SC3D-337 Uneven Spacing of Surface Mesh Data-Points

Several users have requested that we allow uneven spacing of surface mesh data-points. However, we have a question. Which sort of spacing are you expecting, (A) or (B)?

(A) Uneven spacing of mesh points with each point in a row, column the same as the other points

(A) Uneven spacing of mesh points with each point in a row, column the same as the other points

(B) Uneven spacing of mesh points with decoupled placement of points

(B) Uneven spacing of mesh points with decoupled placement of points

SC3D-338 Waterfall Charts 3D

In SciChart WPF v4.3 we intend to add Waterfall Charts 3D. For clarification, we intend to create a hardware-accelerated version of our WPF Waterfall Chart Example using SciChart3D:

The SciChart WPF Waterfall Chart is simulated using 2D Charts

The SciChart WPF Waterfall Chart is simulated using 2D Charts

If we do this, we will likely bind it to our UniformGridDataSeries3D type. This means the data-source will be a 2-dimensional Double[][] array of Y-values only. But what sort of requirements do you need for this chart type? Do you need for example:

  • To be able to space values in X unevenly or will the spacing be uniform?
  • To have different numbers of points on each ‘slice’ or the same point count on all slices?
  • Do you need to scroll left/right as if this were many slices of a timeseries?

We’re assuming you need realtime performance & being able to scroll in the Z-direction (time) …

SC3D-326 Virtualization of Large Surfaces

The current limit for the size of the 3D Surface Mesh chart is limited by the maximum texture size on your GPU, which in most cases is 4096*4096 and on some GPUs is larger, up to 16k * 16k.

Some customers have contacted us and asked for larger surface sizes, but we would just like to know how many so that we can prioritise this complex piece of work.


Those are all the questions we have about SciChart 3D Surface Mesh for now. If you are a current customer of SciChart WPF 3D, or you are considering to purchase this software, please get in contact with your feedback. It is extremely valuable that we build software that you actually want to use and meets your requirements!

Best regards,
[SciChart Team]


The post Requirements for 3D Surface Mesh Charts appeared first on WPF Charts, iOS and Android Charts | SciChart.

Read more »


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


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