|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
[Vari] Creazione grafici
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? |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
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 ![]() ad esempio prova a vedere se http://qwt.sourceforge.net/ fa per te, visto che usi le qt
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
![]() Più che altro mi sto ispirando a quelli telerik dal punto di vista estetico e funzionale ![]() 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 |
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Io proverei con QGLWidget
![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:58.