I am working with a stream of coordinate data to plot points on a map in realtime. I want this data to expire based on age, so I'm using a
ring buffer to store the data, and overwrite in a FIFO manner. When I get to around 1500 points, the frame rate in my program starts to drop off severely. This causes my queue of coordinate data to get backlogged. So, I have to severely limit the size of the ring buffer (ends up being about 1000 coordinates, or a minute of data) to keep the data flowing properly.
My question is: what's an efficient way to store this data, display it, and expire it? Should I be able to draw 1500+ points of coordinate data from a ring buffer, or other data structure? I can't just store the state of the display output after each plot, since I need to eventually expire all displayed points. Ideas?
-T
1