Hello,
I am creating a very demanding application with several vertically stacked charts. I would like to use the best approach for using brushes / pens / sprites and textures.
- Can I leave the resources between render passes or do I have to always dispose it after a render pass?
- Which method is the most performant when drawing images? Should I use ISprite2d or ITexture2d. Is the DrawSprites the most performant?
- [email protected] asked 2 months ago
- last active 1 month ago
Hello,
I need to draw a lot of annotations. Those are pretty simple figures/icons. The gotchas:
- The axis (ticks/labels) should be inside of the chart area.
- The annotation should be drawn on the border of the axis/chart.
I started to use the immediate mode for this. Was pretty happy to see there are Layers in the render context and I thought I could schedule or manipulate the rendereings when it comes to what I want. Unfotunately it is immutable.
The first thing I could come over by manipulating the template at runtime although I do not want to re-template it in fear of bigger template changes than the change of Grid.Row
at runtime.
The second part is more tricky now. I would like to have fine grained control over the ordering of what is drawn. At least above/below the RenderableSeries but best to select the layers as wanted.
One big deal I did overcome is some mouse hover action for the drawn annotations.
So my idea now would be to add custom rendering layers like the HighQualityRenderSurface
but I have no Idea how this impacts the performance. I already have a target of ~30 charts. Fortunately visible ones would be only around 8 so I could manipualte the visibility on scroll to prevent render.
I attached an example of the idea.
What I tried before was interfering with The ISciChartRenderer
to wrap a before and after render. The problem is the Services
are registered and the value is asigned to a property so that my re-register (swap) has no effect. Finally I got it working using a IAnnotationsDrawingProvider
wrapper.
You can find the related post on StackOverflow:
https://stackoverflow.com/questions/78436617/immediate-mode-scichart-rendering-with-ordering-and-axis-positioning-custom-fas
EDIT:
For the fine grained control over the rendering order I managed to use the Layers
just need to do it before any counterpart manages to schedule an action (ISciChartRenderer
worked just the base class private variable assignment is nasty).
- [email protected] asked 3 months ago
- last active 1 month ago
Hi,
As part of our evaluation of SciChart a very important point for us is responsiveness, as I mentioned in another post
A point that is causing concerns is that we need to update the UI in a reliable, synchronous, non-deferred way, even if this means blocking the user input. So for us the only method that works is to user RenderPriority.Immediate.
Unfortunately it seems that for complex data were the rendering starts to struggle SciChart just skips updates to the view. We tried to manually force the update using code, but we have the same problem described here (i.e. RenderPriority.Manual does not work).
So, how can we be sure that the UI gets updated every single time we update a DataSeries, regardless of load, user input, whatever?
- Lorenzo Dematte asked 5 years ago
- last active 5 years ago
Hello,
I am trying to evaluate Scichart for purchase. I am using live data (17 Channels, many samples per second) to draw FastLineRenderableSeries (0-100% on the y axis, time on the x axis). I have everything working satisfactorily using the MVVM pattern. I have tried the HighQualityRenderSurface and Direct3D10RenderSurface.
Are these renderers actually working or am I still using the software renderer?
I need to draw a translucent rectangle on the chart to indicate a “Good” range of values of y values (say 40-50%).
If I use annotations to draw a rectangle, everything slows down and it is unusable. If I use immediate mode drawing and the HighQualityRendererSurface it is kind of OK. If i use immediate mode drawing and the Direct3D10RenderSurface the rectangle and the series lines alternately flash slowly and it is unusable.
How can I draw a rectangle on the screen using live data and get good performance? Do I need the license for this to work well?
Thanks.
- Benjamin Kress asked 9 years ago
- last active 9 years ago