I have a stream of points coming in. I need to know which method is the best way to render them.

I know VBO is much much more efficient than using immediates, but as I said I have a constant stream of points coming in so afaik if I used VBO I would either need to create an array with a size large enough for the max potential points on the screen at one time (then to remove or add a point Id have to search through the whole thing) or recreate the vertex array everytime it is updated. These both seem very very inefficient. And I'm pretty sure there is a better way of doing this that I do not know of...

Currently I just have an ever changing deque of points that I iterate through as I define vertexs for immediate rendering.

Whats the best method for rendering an ever changing (new additions and removals) list of verticies (rendered as points)?