PDA

Ver la versión completa : PROBLEMAS con load_fpg / unload_fpg



gp32alex
25/08/2005, 00:16
estoy intentando optimizar al maximo el uso de memoria cargando y descargando los FPG´s cuando no son necesarios.

CUANDO DESCARGO un FPG, si uso otro FPG distinto no da problemas, pero si intento volver a cargar uno que ya haya usado no funciona. Incluso aunque halla cargado y descargado varios FPG´s antes de volverlo a cargar.

Por que no funciona este ejemplo? hay un proceso continuo (loadinx) y otro (loadin) que carga un FPG y despues de 500 frames descarga el fpg y llama a otro proceso igual (loadp), que a su vez llama a otro proceso similar (pausa).HASTA AQUI TODO FUNCIONA, pero este ultimo proceso vuelve a llamar al primer proceso (loadin) y entonces solo se visualiza el proceso continuo.

/*************/
Program fpgload;

Global

Byte timerx=500; /* contador de tiempo para los procesos */


Begin

set_title("fpgload");
Full_screen = false;
Graph_mode = mode_16bits;
set_mode (m320x240);

loadinx();
loadin();

End

Process loadinx() /*este proceso es continuo*/

Begin

load_fpg("ejemplo1.fpg");
file=0;
graph=1;
x=100;
y=100;
z=-1;

Loop

Frame;

End

End

/************************/
Process loadin()

Begin
let_me_alone();
load_fpg("ejemplo2.fpg");
file=1;
graph=1;
x=100;
y=100;
z=-2;

Loop

If (timer>0)

timerx=timerx-1;

End

If (timerx==0) /*despues de 500 frames sale del loop*/

Break;

End

Frame;

End

unload_fpg(1);

loadp();

End

Process loadp()

Begin
let_me_alone();
load_fpg("ejemplo3.fpg");
file=1;
graph=1;
x=100;
y=200;
z=-3;

Loop

If (timer>0)

timerx=timerx-1;

End

If (timerx==0)

Break;

End

Frame;

End

unload_fpg(1);

pausa();
End

Process pausa()

Begin
let_me_alone();
load_fpg("ejemplo4.fpg");
file=1;
graph=1;
x=100;
y=200;
z=-3;

Loop

If (timer>0)

timerx=timerx-1;

End

If (timerx==0)

Break;

End

Frame;

End

unload_fpg(1);
loadin();
End

Slàinte
28/08/2005, 09:59
Este mensaje ha sido contestado y solucionado aquí (http://forum.divsite.net/viewthread.php?tid=3405)