Hello,
we are experiencing very bad performance when we display more charts (20 in this example).
When resizing the container with the charts (collapsing part of the screen) freezes the UI for several seconds (up to 10 seconds).
Each chart has 2 point line series with cca 3000 points. One of the series has visible circular points and the other is clickable and has circular points with transparent color.
I found out, that the transparent points are causing the problem, because clickable.PointStyle.BorderWidth = 50. Reducing the width improves the performance (but it still takes 2-4 seconds).
The width is so big, because we are using the invisible points to detect user interaction with touch (we need quite big area to have good user experience).
Is there another way to detect clicks in an area around the point from the series?
Is there a way to improve performance with this amount of charts in general?
Many charts performance
Moderator: Queue Moderators
- ArctionPasi
- Posts: 1367
- Joined: Tue Mar 26, 2013 10:57 pm
- Location: Finland
- Contact:
Re: Many charts performance
Hi Matus,
The size of the point here is the major problem. That size of round point is composed of hundreds of small triangles. Please use Rectangle shape.
Also ensure you are running with 7.2 version, with DirectX11 engine. You can check that by using chart.GetRenderDeviceInfo().
Best regards,
Pasi
The size of the point here is the major problem. That size of round point is composed of hundreds of small triangles. Please use Rectangle shape.
Also ensure you are running with 7.2 version, with DirectX11 engine. You can check that by using chart.GetRenderDeviceInfo().
Best regards,
Pasi
LightningChart Support Team, PT
Re: Many charts performance
I don't remember why we used the border, but I tried to set the actual width and height of the point and the performance is much better (4-5 seconds). The shape doesn't make any difference.
Nevertheless the performance is poor also with this improvement.
Is that a limitation that we cannot pass? Is having 20 charts on the screen a supported use case?
Nevertheless the performance is poor also with this improvement.
Is that a limitation that we cannot pass? Is having 20 charts on the screen a supported use case?
- ArctionPasi
- Posts: 1367
- Joined: Tue Mar 26, 2013 10:57 pm
- Location: Finland
- Contact:
Re: Many charts performance
Can you please send screenshot of your app, so I could instruct you better? Also if you can post a small VS project here to reproduce the issue, that would be nice.
Having a few multi-segment charts instead of dozens single-segment chart saves a lot of performance and memory resources.
What is your GPU type,btw? If you use GPU-Z tool, can you check what kind of GPU load does it show?
Having a few multi-segment charts instead of dozens single-segment chart saves a lot of performance and memory resources.
What is your GPU type,btw? If you use GPU-Z tool, can you check what kind of GPU load does it show?
LightningChart Support Team, PT
Re: Many charts performance
We use Dx11 rendering, here's the rendering info:
I checked the GPU-Z, I'm not sure what info is relevant there, but here's a screenshot:
the Load peaks at 52% during the UI freeze
here's the screenshot of the app, you can see the collapser on the left, the charts are in a scrollviewer (see the scrollbar on the right side)
I checked the GPU-Z, I'm not sure what info is relevant there, but here's a screenshot:
the Load peaks at 52% during the UI freeze
here's the screenshot of the app, you can see the collapser on the left, the charts are in a scrollviewer (see the scrollbar on the right side)
- ArctionPasi
- Posts: 1367
- Joined: Tue Mar 26, 2013 10:57 pm
- Location: Finland
- Contact:
Re: Many charts performance
That GetRenderDeviceInfo doesn't reveal anything. Please call it after chart has rendered at least once, e.g. in double-click event handler.
LightningChart Support Team, PT
- ArctionPasi
- Posts: 1367
- Joined: Tue Mar 26, 2013 10:57 pm
- Location: Finland
- Contact:
Re: Many charts performance
Are all the charts in scrollable container? If so... the overall renderable area is quite huge.
For this kind of purpose, we would recommend using multi-segment chart instead.
For this kind of purpose, we would recommend using multi-segment chart instead.
LightningChart Support Team, PT
Re: Many charts performance
updated render info:
Re: Many charts performance
what is a multi-segment chart? is it some special chart type that I can see in your demo application? or just a single chart with multiple series?
- ArctionPasi
- Posts: 1367
- Joined: Tue Mar 26, 2013 10:57 pm
- Location: Finland
- Contact:
Re: Many charts performance
Multi-segment chart has several Segments specified in ViewXY.AxisLayout.Segments. Setting AxisLayout.YAxisLayout=Segmented applies it.
There's e.g. this example in the demo applications:
There's e.g. this example in the demo applications:
LightningChart Support Team, PT