I found several c# and c++ programs about pc based oscilloscope , they have buffer size range from ten thousands to store data from adc . If you use a rectangle size said 700x500 pixel to display the waveform , a maximium of horizontal 700 pairs of data to display on this rectangle . But the buffer size is ten thousand long , how can this rectangle accommodate this large buffer size ??
That is where oscilloscopes normally have a choice of display modes. For example, average the values in a group of memory to display as one point on the screen, envelope which takes the min/max values of a group to display as two vertically aligned points on the screen etc. Decimate which takes every tenth value (or some other fraction).