Question:
Good afternoon.
Given a set of points (100.000-500.000). The points form curves (waves) that are displayed on the graph. Chart example
Now the program works in the following sequence:
- Reading points from a file
- Creating a bitmap
- Convert point values to bitmap coordinates
- Writing points to bitmap via Graphics.DrawCurve()
- If you need to paint over a part of the wave (for example, the positive part) – find the intersection area of some areas through Region.Intersect and fill it.
- bitmap drawing
The program is running slowly.
- Is GDI+ suitable for displaying large amounts of data? Or should I use something else?
- What is the correct sequence of actions?
- What is the right way to convert values to coordinates and at what point?
- What to read?
Thank you.
Answer:
I can advise you to discard points that are not visible (superimposed on each other) due to the scale. There is a Douglas-Peker algorithm for this.