Visual Basic.NET - VBnet2008 ¿Como que se traba pero nooooo?

 
Vista:

VBnet2008 ¿Como que se traba pero nooooo?

Publicado por marcelo montagna (17 intervenciones) el 27/03/2009 18:02:32
No se que titulo poner, lo que sucede es lo siguiente :

Tengo un proceso que dura 5 a 6 minutos en la pc mas viejas
y claro en la Phenom II 940 en 15 segundos.
Es un proceso sobre memoria que lee 500.000 registros

El tema es que le puse una barra de proceso "PROGRESS BAR", la idea es ver
la barrita verde avenzando a medida que recorre los registros y procesa.

Lo que sucede es que si muevo la ventana o la barra de progreso deja de avanzar y
en el administrador de tarea me sale que el programa no funca, pero en realidad anda
el programa solo que no se mueve mas la barra

Lo esplico de nuevo:

Ejecuto el programa
click en el boton procesar (500.000 registros) 5 a 6 minutos
la "Progress barr" avanza
muevo el formulario de lugar con el mouse
la barra de desplazamiento "esa verde" ya no se mueve.
en el administrador de tareas dice que el programa no funciona

Pasados los 5 a 6 minutos termina de procesar el programa y todo bien el proceso
solo que la barra quedo bloqueada, incluso le puse un gif de un reloj de arena y tambien
se bloquea.

NO ME EJECUTA OTROS SUB PROCESOS !!!

Incluso con el Pheno x4 940 de 4 nucleos que tarda el proceso 15 segundos
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

RE:VBnet2008 ¿Como que se traba pero nooooo?

Publicado por Damian (49 intervenciones) el 27/03/2009 19:22:39
Que usas para que el Progress bar vaya avanzando?, un control Timer por ejemplo?. Si es asi yo diria que cambias la forma de hacerlo, los temporizadores consumen mucho recursos.
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

RE:VBnet2008 ¿Como que se traba pero nooooo?

Publicado por marcelo montagna (17 intervenciones) el 27/03/2009 20:23:37
Che gracias Damian x contestar esta pregunta y la anterior.

Como que estoy investigando como hacer mas eficiente un programa que en el trabajo se quejan que va lento... Y BUE!

No sabia que consume muchos recursos el ProgressBar...
Si si investigando un proceso de 10 minutos lo baje a 6 y luego a 15 segundo con el tema de las variables

Lo que pasa es que mientras el operador espera que termine el proceso tengo que poner algo para que vea que el programa esta funcionando y la pc no se * colgo * , por eso el progress bar, bueno pruevo entonces veo con el temporizador.

tank [email protected] bs.as. argentina - salu2 -
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

RE:VBnet2008 ¿Como que se traba pero nooooo?

Publicado por Damian (49 intervenciones) el 27/03/2009 20:33:44
No, No, nooooooooooooo, el progres bar no consume recursos, creo que me leistes mal lo que consume es el temporizador pero veo que no lo usas, asi que no es ese el problema y no agreges el Timer.
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

RE:VBnet2008 ¿Como que se traba pero nooooo?

Publicado por Damian (49 intervenciones) el 27/03/2009 20:37:35
Me olvidaba comentarte que hay que ver tmb como tienes la consulta que trabaja con 500.000 registros, siempre es bueno crearles identytis a las tablas para que sean mas rapidas las consultas y ademas nunca hagas una consulta del tipo "select * from tabla", siempre es recomendable especificar todos los campos de la forma "select campo1,campo2....campoN from tabla", asi el motor no tiene que hacer una nueva busqueda para saber que campos son.Saludos
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

RE:VBnet2008 ¿Como que se traba pero nooooo?

Publicado por marcelo montagna (17 intervenciones) el 27/03/2009 21:05:08
eeee

el archivo es de texto y los datos estan por lo gener ordenados uno detras del otro, pero pero cuando no lo encuentra a continuacion lo devo busco en todo el archivo.

Para que sea rapido lo pase todo a memoria, en una pentium 4 me demora 25 segundo y en la phenom 940 con memorias de 1066 tarda 15 segundo

si el proceso lo ago sobre el disco rigido tarda 6hs en la pc vieja y 4 hs en la nueva
Asi que temas de velocidad ya estaria solucionado!!!

Al poner el progress bar o sacarlo no veo diferencia de segundo de mas o de menos

Pasa que el encargado de la empresa que es quien usa el programa "seria el operario del programa" piensa que se colgo la pc.
En realidad no esta colgada, esta metida en ese proceso o recurso o como se diga y no hace ningun otro proceso...

Algo interesante, en la pc de 1 nucleo dice recursos 100% en la de 4 nucleos dice 25% del uso del procesador.

--------------
Del tema de mi empresa o el trabajo este es para la obra social Pami de los juvilados " pami on-line "

Resivo un CD con las resetas de cada provincia que de "cordoba unas 500 mil recetas quincenales max. y de otras provincias menos.

A groso modo seria algo asi:
Lo que hace el programa es comparar las recetas que ingresaron los Data-Entry " o sea los empleados de mi trabajo " contra lo que dice el " farmaceutico que vendio y envia por internet "
Compara 500.000 online contra 200.000 ingresadas manualmente

paso a memoria ---> proceso ---> grabo

El programa o "proceso" pone un codigo de error en el " archivo de texto " cuando el farmaceutico dice vendi 2 y en verdad vendio 1 o no vendio nada

-------------

Pero bueeeeeeeeeee el FORMULARIO como que queda TRABADO

*** La respuesta del jefe que algo sabe de oido es: LENGUAJE C ***

Seguire investigando, igual el programa anda bien y es simple y los datos como te comente estan casi siempre uno abajo del otro en orden... salu2
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