E 'possibile avere più thread usando Background Workers per diversi controlli all'interno di una GUI

0

Nel mio attuale progetto ho un grafico 3D ad alta intensità di CPU che deve essere aggiornato in tempo reale.

Ho utilizzato gli operatori in background per il progetto e li ho utilizzati, faccio tutto il processo in background. Ricezione di messaggi, interpretazione del messaggio, infine passare il set di dati a gui.

Il passaggio della GUI di aggiornamento richiede 20-50 ms a seconda della quantità di dati. Il problema con questo è che il mio propertygrid sul lato, che è lì per cambiare le impostazioni non rimane reattivo mentre il grafico 3D viene aggiornato. Inserendo un ritardo tra i cicli di aggiornamento sono riuscito a bypassare il problema, ma non è una soluzione permanente.

Esiste comunque un thread separato che aggiorna e interagisce in modo specifico con un solo controllo invece di avere il thread principale intasato dalla quantità di dati passati a tutti i controlli.

O c'è un modo per impostare una priorità per alcuni controlli all'interno della GUI in modo che siano aggiornati in tale ordine, in altre parole la griglia delle proprietà non viene mai bloccata a prescindere dai dati inviati agli altri controlli nel thread principale.

    
posta r wank 08.06.2015 - 11:50
fonte

0 risposte

Leggi altre domande sui tag