MEMon
22-08-2006, 11:07
Ho una laborazione che occupa molta cpu deve essere svolta nel più breve tempo possibile, si tratta di un ciclo che riempe una matrice enorme circa 20 milioni di dati.
Questo quindi sarebbe meglio che impiegasse quasi tutta la cpu per riempirla.
Il problema è che vorrei che nel frattempo la mia GUI cambiasse, non so qualche musica e qualche immagine, solo che nonstante io abbia infilato l'elaborazione in un thread a parte, il resto delle cose vengono svolte moooooooooolto lentamente, ho anche inserito un Thread.yield() sperando servisse ma nulla...
Mi spiego un attimo meglio, questa elaborazione si tratta del caricamento di un livello di gioco, e intanto che carica non vorrei avere tutto bloccato, ma qualche immagine o anche lo stato di avanzamento del caricamento...
Ora l'unico metodo buono è stato settare a MIN_PRIORITY il thread che carica il livello, solo che ci mette più tempo a caricarlo.
Questo quindi sarebbe meglio che impiegasse quasi tutta la cpu per riempirla.
Il problema è che vorrei che nel frattempo la mia GUI cambiasse, non so qualche musica e qualche immagine, solo che nonstante io abbia infilato l'elaborazione in un thread a parte, il resto delle cose vengono svolte moooooooooolto lentamente, ho anche inserito un Thread.yield() sperando servisse ma nulla...
Mi spiego un attimo meglio, questa elaborazione si tratta del caricamento di un livello di gioco, e intanto che carica non vorrei avere tutto bloccato, ma qualche immagine o anche lo stato di avanzamento del caricamento...
Ora l'unico metodo buono è stato settare a MIN_PRIORITY il thread che carica il livello, solo che ci mette più tempo a caricarlo.