SciChart® the market leader in Fast WPF Charts, WPF 3D Charts, iOS Chart, Android Chart and JavaScript Chart Components

  • Andrew Burnett-Thompson
    You don’t have to dispose, but it helps. If the object implements IDisposable, then dispose it (SciChartSurface implements IDisposable). However, all the objects in SciChart also implement the Finalizer which allows them to be disposed if it is not feasible to call dispose. For example its not always feasible to call .Dispose() on a XAML declared UserControl. Regarding the exception, we will need code to reproduce if possible. If you can send it over we’ll be glad to investigate.
  • David La Fleur
    The problem seems to come and go (every time I change code and build, there’s a chance it will go away. But once it’s gone, any change might make it come back). I suspect it’s related to the order the finalizers are called in. Unfortunately showing it to you would mean providing code for the entire product, which I can’t do, but if I manage to reproduce the problem in something smaller, I’ll send that along.
  • Andrew Burnett-Thompson
    Yes Finalizers are executed on another thread so they can be a bit non-deterministic. Do you have a full stack trace? SharpDX finalizes its own objects and we dispose most of them but sometimes something gets missed (like a texture held by a PointMarker)
  • David La Fleur
    Unfortunately, what I posted *is* the complete call stack for the GC finalizer thread where the exception occurs. Or did you want to know what the other threads were doing at the same time?
  • Przemyslaw Dekiel
    Hi, is there any update on this issue? we have just moved to .NET Core 3.0, and we started having exactly the same problem (similarly, only when using Direct3D11RenderSurface). Are there any workarounds?
  • Andrew Burnett-Thompson
    Hi there, Scichart SDK 6 with full .NET Core 3.0 support is in the final phase of testing now — it will resolve the above issue as we’ve built a completely new custom renderer to replace the Direct3D11RenderSurface which uses SharpDX. .NET core 3 has thrown a lot of spanners in the works for us because both our licensing component and SharpDX don’t support it very well, however we have resolved all issues by bringing the development of them in-house. More info to be announced very soon. Best regards, Andrew
  • Przemyslaw Dekiel
    Hi Andrew, thanks for the update! Is there any known date when we could be expecting SDK 6?