Šta je novo?

Stari soft. uzima 99% snage u XPSP2 - resenje?

NovajlijaBG

Čuven
Učlanjen(a)
18.11.2003
Poruke
103
Poena
619
U pitanju je stari knjigovodstveni softver koji je pisan za DOS a radi na XPSP2. Stvar je u tome sto dok radi uzima 99% procesorske snage i ne moze se nista drugo raditi, a inace je server jos nekog softvera koji je neupotrebljivo spor na mrezi dok ovaj prvi radi u DOS prozoru (ili full screen).
Kako to resiti ?
 
problem sa dos programima je taj sto nisu event driven tipa i kod njih se vecina stvari vrti u beskonacnim petljama ispitivanja i sl ( poliranje )... takodje jos gori problem je taj sto procesor mora konstantno da se svicuje iz virtuelnog 86 moda u zasticeni mod i tu se gubi dosta vremena ( jako spora operacija ).....
po meni skoro da nema spasa za takvu stvar osim pisanje novog... :(
 
Dual core CPU, pa se proces dodeli jednom od njih? :D
 
dobra fora :) moze dual core
 
Ako je pisan u clipper-u postoji rešenje u vidu gotove biblioteke. Ja sam imao isti problem i našao sam tu biblioteku na netu, odneo je programeru a čovek me je gledao belo (u fazonu, nema to šanse ali 'ajde kad si dosadan uradiću ti to). Tako "patchovan" evo radi dobre dve godine bez ikakvog problema. Imam tu biblioteku tako da mogu da ti je pošaljem, jedino moraš da imaš pristup programeru :D.
 
Poslednja izmena:
DOSidle

Probao sam jos ranije DOSidle i "pozvao" ga u memoriju, ali se nista ne desava. Video sam u "ridmiju" da ima dosta opcija izvrsavanja fajla. Ideje?

Kako se koristi TameDOS ?
 
jos gori problem je taj sto procesor mora konstantno da se svicuje iz virtuelnog 86 moda u zasticeni mod i tu se gubi dosta vremena ( jako spora operacija ).....
po meni skoro da nema spasa za takvu stvar osim pisanje novog... :(
Ja imam više starih programa (nisu DOS programi) od kojih su mi neki jako zgodni, ali svi drže CPU zakucan blizu 100%. Probao sam da nađem neko rešenje (od nekih sopstvenih ideja pa do temeljnog traženja na Google) - ali ništa nije pomoglo.
 
pa to su programi tipa

while ( 1 ) {
if ( kbhit () ) {
...
}
iscrtaj_i_uradi_nesto_glupo();
}

sto je od prilike nesto sto lici na spin lock u terminima sinhronizacije.. :)
da ti programi ne bi jeli 100% procesora trebali bi da se izbace iz ready u blocked nekom komadom tipa sleep ( ako ne postoji pametnije resenje ) medjutim posto dos nije multitasking operativni sistem onda toga nema...
 
Poslednja izmena:
Postoji jedan program (neka vrsta drajvera) koji se koristio da ograniči load nekih programa (koristili su ga često za SETI@home svojevremeno), zadaš mu npr. 20% i ne da mu da makne preko toga, sad se setih da još jedino to nisam probao. Još da se setim kako se to zove, gde je i kako se podešava. I-haaaaj. Ne znam d ali bi pomoglo i za nešto u DOS box-u.
 
Pa bio je za sam DOS onaj progrmacic MOSLO za procentualno zadavanje snage procesora za izvrsavanje bilo kog programa, mozda bi mogao da pomogne u kombinaciji sa Dosbox_om.
 
Evo rešenja za Clipper aplikacije probao sa 5.02e
Potrebne su nanfor i cpmi biblioteke koje možeta skinuti sa neta .

FT_OnIdle({||FT_IAmIdle(1, .F.)}) staviti u prvu programsku liniju

Smanjuje CPU LOAD 1-timeslice, 1 fine for NT vrednosti od 10 do 30 rade isto ok. .F. force to real mode (.T. prebacuje u real mod .F. ostaje u trenutnom modu, parametar se ne ignoriše u real modu)

Provereno u praksi i radi odlično, naravno morate imati source kod programa.
 
Nazad
Vrh Dno