Sto tentando di caricare rapidamente le immagini in una casella immagine e disegnarle. Ho un secondo ritardo di .13 tra il momento in cui assegno una bitmap alla casella immagine e quando si presenta. E ogni volta che eseguo uno picturebox.refresh()
, è lo stesso ritardo di 0,13 - 0,15 secondi prima che venga chiamato il metodo paint. C'è un modo per sbarazzarsi di questo ritardo?Visualizzazione più veloce della casella dell'immagine
Sto utilizzando C# in Visual Studio 2010. Carico le immagini utilizzando la libreria di FreeImage.
Ecco il codice nel mio caso pictureBox_MouseMove:
if (IsMouseDown || DrawLine.Checked || IsMovingBox)
{
Tracing.Trace("Update Picture Box");
pictureBox.Refresh();
}
Poi tracciare una linea quando il mio caso la vernice viene chiamato. Il ritardo è tra le due linee di traccia.
Se utilizzo un'immagine tonica bitonale a 117kb, il ritardo è di 0,13 secondi. Per caricare questa immagine in memoria ci vogliono 0,04 secondi. Per sostituire la mia bitmap picturebox con questa bitmap sono necessari 0,01 secondi.
Se utilizzo un'immagine jpg in scala di grigi a 1125 kb, il ritardo è di 0,14 secondi. Per caricare questa immagine in memoria occorrono 0,26 secondi. Per sostituire la mia bitmap picturebox con questa bitmap sono necessari 0,03 secondi.
Hans, potrebbe farlo! I test iniziali sono decisamente migliori! Inseriscilo nel mio codice qui e impostando correttamente le proporzioni ... – Mark
Hans, è stato perfetto! Molto bella! Grazie! – Mark