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.
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.
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)
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?
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