Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Porque un Sistema en Ms-Dos Consume más Recursos???? (https://www.clubdelphi.com/foros/showthread.php?t=24389)

AGAG4 18-08-2005 18:05:29

Porque un Sistema en Ms-Dos Consume más Recursos????
 
Alguien sabrá Porque un Sistema en Ms-Dos Consume más Recursos????
Tengo 2 Aplicaciones de Ms-Dos, uno hecho en Pascal y el Otro en Clipper, abro cualquiera de las 2 Aplicaciones junto con otra Aplicación en Windows(Usa Componentes IBX), trabajo en Windows y el rendimiento es malisimo va DEMASIADO LENTO, ahora cierro la aplicación en ms-dos y vuelve a la SuperVelocidad Normal la Aplicación en Windows, ahora hago la pruebas también con otra aplicación en windows pero usando el BDE y se porta Similar, es decir, baja mucho el rendimiento en el Sistema Windows cuando esta abierto la Aplicación de Ms-Dos....

Cual es el motivo de dicho comportamiento????

La Solución será desplazar Completamente los sistemas de ms-dos por los sistemas en windows???

Esta última pregunta la hago porque no quiero dejar atrás los sistemas de ms-dos, es decir, quiero que trabajen en conjunto con los de Windows, con el objetivo de no desplazar computadoras Viejitas que todavía trabajan muy bien en estas aplicaciones....

Agradezco cualquier sugerencia.

Casimiro Notevi 18-08-2005 22:11:33

Echa un vistazo a este hilo, puede que te ayude

AGAG4 18-08-2005 23:40:33

????
 
Ese Hilo que abrí es parecido a este, pero en ese mismo estaba buscando los niveles de prioridades del procesador hacía una aplicación, por lo que no me funcionaron, se quedaba colgada la aplicación, por lo que decidi quitar las funciones que me recomendaron, ya he investigado un poco más y me he percatado que es algo normal que un lenguaje de ms-dos como clipper ó pascal consumen muchos recursos del procesador, es por eso que sólo quiero saber cual es el motivo de dicho comportamiento, es la propia naturaleza de estos mismos????, porque se apoderan de todo el procesador?????

Las técnicas para usar la Api de windows fucionan pero no correctamente, en ocasiones se bloquea la aplicación en delphi, ignoro el motivo....

Gracias por sus comentarios....

JXJ 19-08-2005 00:51:52

¿que no es la lentitud, por qeue, el so ms dos, no es multi tareas,,,?

lucasarts_18 19-08-2005 02:35:07

Cita:

Empezado por JXJ
¿que no es la lentitud, por qeue, el so ms dos, no es multi tareas,,,?

Hola:

No lo creo (Bueno uno nunca sabe), pero yo he visto software gráfico que hacen tareas en MS-DOS con cargas masivas de datos y, estos no se comportan "de manera lenta".

Yo creo que debe ser otro el problema..

Saludos.

Casimiro Notevi 19-08-2005 02:50:56

Pues la verdad es que me he encontrado algunas veces con clientes que usan algún programa msdos en su windows y ocurre lo que se está comentando, que acapara toda la cpu, al 100%, en todo momento, aunque no estés haciendo nada. Ignoro el motivo y tampoco lo he investigado, pero extraño sí que es :confused:

eduscale 13-12-2007 02:08:08

el problema es el siguiente los programas hechos en clipper en realidad son programas que corren en una maquina virtual, por lo tanto, dicho programa como utiliza un gran ciclo while para interpretarlo (a clipper) consume todos los recursos de procesador.

lo que te convendría hacer es migrarlos (en lo posible a 32 bits) con compiladores como xharbour, harbour o clip, entre otros que casi sin cambios en el fuente original quedan funcionales y no te consumen todos los recursos.


Saludos

Casimiro Notevi 13-12-2007 09:34:35

Vaya, por fin, una duda más resuelta, todos los días se aprende algo :)

eduscale 13-12-2007 13:53:46

Una solución para que puedan convivir con delphi
 
Los programas clipper (16 bits) pueden convivir igualmente con delphi.

Como solución al problema de que consumen todos los recursos del procesador hay una alternativa que funciona y es más barata que la que te plantee antes y consiste en:

te bajas de esta dirección http://glass.ptv.ru/software/english/dosidle.html

el DOSIDLE. cuando linkeas hacés referencia a este .OBJ y luego dentro detu programa donde tengas un While (aunque no es impresindible que esté ahí es mejor) o similar colocas las siguiente linea:

while .....

dosidle() // <-- Hace que baje el consumo del procesador



enddo

y luego de esto recompilas tu programa.

En mi caso logré que cuando no hay participación del usuario, o sea, no está cargando datos o haciendo un proceso importante el consumo de la aplicación baja a cero.

Espero que te sea de utilidad y saludos

marcoszorrilla 13-12-2007 15:47:20

Según veo bastaría con incluir una llamada a dicha función en la sección de inicialización del programa:

Cita:

As it to use

Include DOSIDLE.OBJ for Clipper 5.X or DIDLE87.OBJ for Clipper
Summer 87 in the list of linked modules and in initialization part
of your program add a call of function DosIdle() or DosIdle(.T.).
Basically
, the frequency of release time-slice is picked up by me
experimentally, can appear, that the given function will work
inefficiently by some machines (if it so, write to me about it).
Therefore I offer to provide in the program any mechanism managing
turn on or off of this module.
Veré si mañana puedo hacer una prueba para ver el rendimiento que se gana en la máquina.

Un Saludo.

eduscale 16-12-2007 05:45:43

Si es así como dices
 
Solo debes linkear el DOSIDLE.OBJ y hacer una llamada desde tu programa...
y vas a ver que cuando el programa está en espera los recursos de procesador bajan hasta cero permitiéndo ejecutar otros programas.

También tu máquina responde más velozmente a las solicitudes de otros en la red ya que no tiene el procesador al 100%


Saludos y suerte con tu prueba


La franja horaria es GMT +2. Ahora son las 19:23:38.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi