Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: drakolive en 26 Diciembre 2008, 04:10 am



Título: mi programa consume muchos recursos
Publicado por: drakolive en 26 Diciembre 2008, 04:10 am
resulta que estoy haciendo un programa que se encarga de transformar un texto a un formato y para esto analiza linea por linea de un archivo en forma secuencial.
el problema resulta que si el archivo tiene 40 kbs de texto, mi programa consume muchos recursos, el CPU esta al 100 %, por lo que la pc se vuelve algo lenta...
he probado con usar doevents, pero nose poque esto altera el funcionamiento del programa, hace como si cada linea no se ejecutara de forma secuencial, da la impresion de ejecutarse de forma aleatoria cada linea del programa.

ahora nose si usar la funcion sleep para parar el programa; pero el problema es que las modificaciones tienen que ser casi en tiempo real, polo que no se podria demorar mas de 3 segundos en realizar la misma operacion de examinar el texto...

que podria hacer? GRACIAS


Título: Re: mi programa consume muchos recursos
Publicado por: CICOLO_111234 en 26 Diciembre 2008, 07:54 am
la forma secuencial con que has hecho?

lo + normal seria con un timer.

postea sino el codigo para q lo veamos...


Felices fiestas

Salu2


Título: Re: mi programa consume muchos recursos
Publicado por: BlackZeroX en 26 Diciembre 2008, 08:18 am
No somos Adivinos ¬¬, postea una parte de tu codigo seguro algo traes mal o no se

De la nada uedo solo desirve esto:

Te tengo 2 formas con las cuales mejorar el rendimiento 1 lee solo la parte deseadda del archivo 2 trata de solo cargar partes del archivo trata de hacer por bits y no por Caracteres (ms-dos tiene una funcion para comparar dos archivos y decir si son iguales o no  y tiene una funcion que es por bytes y no consume recursos ademas de que es rapido)

o si lo prefieres puedes dejar que tu Aplicacion siga consumiento los recuersos y en caso puedes bajarle la prieridad cque le tomara el procesados a Tu aplicacion (Api: SetPriorityClass, y SetThreadPriority, GetCurrentThread, GetCurrentProcess, mm creo que se ocupan otras no recuerdo bien pero con estas se baja la prioridad de cClase tal y como lo harias con el Administrador de Tareas del Virus wue diga Windows. )

P.D. : Api-Gui por si acaso lo de Prioridad(Este ultimo no lo recomiendo ¬¬" pero aun asi lo digo por si acaso).

Saludos


Título: Re: mi programa consume muchos recursos
Publicado por: seba123neo en 27 Diciembre 2008, 01:35 am
Hola, no se para que tanto lio, pone el codigo y listo...no tiene porque ponerte la pc al 100 % ni en archivos de varios megas, debes estar haciendo algo mal, con un Do While lo recorres y no debe haber problema...

saludos.


Título: Re: mi programa consume muchos recursos
Publicado por: drakolive en 27 Diciembre 2008, 06:16 am
Hola, gracias ya encontre mi problema...
lo que paso fue que habia usado algo como esto

while instr(1,sTexto,"mod") <>-1
...
wend

y funcionaa bien para pequeños textos, pero para un texto grande daba problema porque se quedaba colgado, le puse un doevents en el bucle y el programa no se colgaba pero se quedo parado....

despues de revisar bien donde se quedaba colgado el programa encontre que en ese trozo de codigo (que he puesto al principio de este post) habia algo incorrecto: -1; debe ser 0
lo que pasa que cmo tambien conozco otros lenguajes (java, php, c,c++, javascript) entonces estaba acostumbrado a usar -1 cuando se retornaba algo que no se habia encontrado...

Gracias =D