Visual CSharp .NET - Mejorar carga dinámica de imágenes en un formulario

 
Vista:
sin imagen de perfil

Mejorar carga dinámica de imágenes en un formulario

Publicado por Rafael (2 intervenciones) el 01/04/2014 14:10:16
Buenas.

Estoy realizando un proyecto para una TPV en C#.net con VS2005 y SQL 2005.

Estoy cargando imágenes en controles creados dinámicamente dentro de un tabControl. La ruta de las imágenes las obtengo de un campo de una tabla de base de datos. Lo que pasa es que al cargar el formulario y mostrar todas las imágenes tarda bastante, y al ser para una TPV necesito que sea mucho más rápido.

Me gustaría saber cuál sería la mejor forma para hacer esto, muchas gracias.
Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Mejorar carga dinámica de imágenes en un formulario

Publicado por Pico (29 intervenciones) el 01/04/2014 16:46:28
Depende de cuál sea el problema,.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Mejorar carga dinámica de imágenes en un formulario

Publicado por Rafael (2 intervenciones) el 01/04/2014 18:59:28
El problema es que hay que esperar varios segundos hasta que se muestran todas las imágenes cargadas. En el Load del Form realizo la carga dinámica de pestañas del tab y la creación de los objetos PictureBox con su imagen.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Mejorar carga dinámica de imágenes en un formulario

Publicado por Pico (29 intervenciones) el 01/04/2014 19:13:24
Ya, pero no es lo mismo si resulta que cada imagen ocupa 4 megas, o lees de un cd a 1x de velocidad, o la tpv es de los años 80 con un z80.

El c# y .net no es rápido.
Estar creando un PictureBox por cada imagen es lentísimo.
Cargar cada imagen en un PictureBox es lento y consume muchos recursos.

Tienes que crear un solo PictureBox grande y en él ir poniendo todas las imágenes. Con eso ya ganarías mucha velocidad. Luego si en vez de las funciones de pintado del Graphics usas las del windows, tipo BitBlt, ganas más, y si escribes directamente en la memoria corres más todavía.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar