PDA

View Full Version : [Vari] Creazione grafici


tomminno
21-05-2010, 14:25
Sto creando una libreria per la creazione di grafici (nello specifico Qt ma la domanda non è legata al linguaggio in particolare) a barre, linee, torta, 3d ecc...
Lo stile con cui l'ho realizzato è molto alla GDI (alla fine è tutto un disegnare linee, rettangoli, ellissi) con conseguenti calcoli per il ridimensionamento del grafico.
Mi trovo davanti al problema che l'aggiornamento del grafico a seguito della modifica dei dati non è molto oneroso, mentre ridisegnare completamente la finestra porta a picchi di utilizzo notevoli (70% su un dual core).

Esistono tecniche più efficienti per la generazione di grafici?

marco.r
21-05-2010, 14:45
Sto creando una libreria per la creazione di grafici (nello specifico Qt ma la domanda non è legata al linguaggio in particolare) a barre, linee, torta, 3d ecc...
Lo stile con cui l'ho realizzato è molto alla GDI (alla fine è tutto un disegnare linee, rettangoli, ellissi) con conseguenti calcoli per il ridimensionamento del grafico.
Mi trovo davanti al problema che l'aggiornamento del grafico a seguito della modifica dei dati non è molto oneroso, mentre ridisegnare completamente la finestra porta a picchi di utilizzo notevoli (70% su un dual core).

Esistono tecniche più efficienti per la generazione di grafici?
Che tipo di aggiornamento hai bisogno ?
Se sono serie temporali ad esempi puoi shiftare a sinistra la bitmap generata di quanto ti serve e aggiungere solo una linea tra il valore precedente e il corrente. Se aggiungi dati puoi scrivere direttamente sopra l'immagine.
Infine puoi provare con qualche widget gia' pronto :D,
ad esempio prova a vedere se http://qwt.sourceforge.net/ fa per te, visto che usi le qt

tomminno
21-05-2010, 15:31
Che tipo di aggiornamento hai bisogno ?
Se sono serie temporali ad esempi puoi shiftare a sinistra la bitmap generata di quanto ti serve e aggiungere solo una linea tra il valore precedente e il corrente. Se aggiungi dati puoi scrivere direttamente sopra l'immagine.
Infine puoi provare con qualche widget gia' pronto :D,
ad esempio prova a vedere se http://qwt.sourceforge.net/ fa per te, visto che usi le qt

I grafici di qwt sono un pò scrausi :cool:
Più che altro mi sto ispirando a quelli telerik (http://www.telerik.com/products/winforms/chart.aspx) dal punto di vista estetico e funzionale :D

I grafici sono statici una volta generati, il problema nasce al momento in cui viene ridimensionata (o spostata) la finestra, con conseguente adattamento del grafico allo spazio a lui dedicato

cionci
21-05-2010, 16:11
Io proverei con QGLWidget ;)