[Interest] efficient drawing advice

Sean Harmer sean.harmer at kdab.com
Wed Mar 26 14:20:50 CET 2014


On Wednesday 26 March 2014 10:35:05 Graham Labdon wrote:
> Hi
> My application needs to display a series of 'traces'.
> Each trace will consist of 5000+ points and there can be up to 50 traces.
> I would be grateful of some pointers on how to do this in the most efficient
> way - QPainter on a widget
> Use of OpenGL
> QGraphicsScene
> Which of these will be the most efficient at displaying the data quickly?

OpenGL will almost certainly be the most efficient. How many points/line 
segments do you expect on screen at any one time? All 5000 points per trace or 
some subset? e.g a moving window of them. Remember that you will unlikely have 
5000 distinct pixels horizontally.

How often do your points get updated and in what manner? All of them? Only a 
subset? In a FIFO manner?

The trick to making it work well with OpenGL is to get the data from your CPU 
into GPU memory efficiently without incurring any implicit synchronisation 
points.

Cheers,

Sean

--
Dr Sean Harmer | sean.harmer at kdab.com | Managing Director UK
Klarälvdalens Datakonsult AB, a KDAB Group company
Tel. Sweden (HQ) +46-563-540090, USA +1-866-777-KDAB(5322)
KDAB - Qt Experts - Platform-independent software solutions



More information about the Interest mailing list