Sto cercando di trovare uno strumento per tracciare i dati (principalmente grafici a linee e simili) che possono essere utilizzati per applicazioni ad alte prestazioni. La mia finestra di dati contiene in genere tra 500 e migliaia di punti, e sarei felice con un framerate di 10 o giù di lì. Ricevo i miei dati come stream binario su un socket. Sono su Mac OS X.Visualizzazione dati in tempo reale ad alte prestazioni
Ho provato diverse soluzioni e discuto le mie esperienze con loro di seguito.
R: tremendamente lento e incapace di tenere il passo, dolorose leggere prese, sfarfallio grafico.
matplotlib: piuttosto lento ma un po 'usabile, anche. Tuttavia, richiede un sacco di macchinari Python da eseguire, e IMO l'API è piuttosto opaca. Sotto costante aggiornamento, la finestra contenente il grafico diventa modale e appare il beachball Mac, non eccezionale per l'interazione dell'utente.
Gnuplot: Prestazioni e API molto migliori. Tuttavia, comunicare grandi quantità di dati a gnuplot avviene generando file ASCII temporanei (!) - questo significa che se il mio framerate sale, sto iniziando a fare tonnellate di letture del disco e questo è un problema di prestazioni.
Altri suggerimenti?
la tua domanda sembra simile alla mia: http://stackoverflow.com/questions/8946474/is-it-possible-to-speed-up-matlab-plotting-by-calling-cc-code-in-matlab – memyself
Non sono sicuro di poterlo fare al di fuori di C++ o di altre lingue, ma prevengo lo sfarfallio dipingendo su una bitmap di memoria e poi lo si confonde sullo schermo. Questo è in realtà più veloce perché non è il ritaglio di rettangoli sovrapposti durante la vernice. Inoltre, per l'utente sembra veloce anche se non lo è. –
@MikeDunlavey Grazie - ma quali tecnologie usi per tracciare e dipingere. – Jake