As ShaunR pointed out, 20000 points are too much to display - simply there are no monitors with that many pixels.
Furthermore, the human eye will see as continuous anything refreshed faster than 16 Hz, so it's pointless to update the display at any faster rate than that - it's simply a waste of time and valuable computer resources.
Except for very display sensitive applications (multi-media, simulation and very few others) simply just use the most practical method to display for your case (refs, sub-panels, queues, globals, functional globals, etc., it depends on what you're doing and how), decimate data AND updated displays only every 60 msec - 50 if you really cannot settle for less - but even 100 msec should be enough.