Estoy tratando de cargar imágenes rápidamente en un cuadro de imagen y dibujar sobre ellas. Tengo un retraso de .13 segundos entre el momento en que asigno un mapa de bits al cuadro de imagen y cuando aparece. Y cada vez que hago un picturebox.refresh()
, es el mismo retraso de .13 - .15 segundos antes de que se llame al método de pintura. ¿Hay alguna manera de deshacerse de este retraso?Mostrar cuadro de imagen más rápido
Estoy usando C# en Visual Studio 2010. Cargo las imágenes usando la biblioteca FreeImage.
Este es el código en mi caso pictureBox_MouseMove:
if (IsMouseDown || DrawLine.Checked || IsMovingBox)
{
Tracing.Trace("Update Picture Box");
pictureBox.Refresh();
}
Entonces trazar una línea cuando mi caso se llama pintura. La demora es entre las dos líneas de rastreo.
Si utilizo una imagen tiff bitonal a 117 kb, la demora es .13 segundos. Para cargar esta imagen en la memoria toma 0.04 segundos. Para reemplazar mi mapa de bits picturebox con este mapa de bits toma 0.01 segundos.
Si uso una imagen de jpg de escala de grises a 1125kb, la demora es .14 segundos. Para cargar esta imagen en la memoria toma .26 segundos. Para reemplazar mi mapa de bits picturebox con este mapa de bits toma 0.03 segundos.
Hans, ¡eso puede hacerlo! ¡Las pruebas iniciales son definitivamente mejores! Ajustándolo en mi código aquí y estableciendo la relación de aspecto correctamente ... – Mark
Hans, ¡eso fue perfecto! ¡Muy agradable! ¡Gracias! – Mark