Duda: Memoria disponible variable en puntos que deberia ser fija

Started by FreeYourMind, September 26, 2011, 10:12:30 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

FreeYourMind

Tengo un problema curioso en Gp2x Wiz (de momento sólo he probado aqui).

Resulta que al hacer un memory_free para saber la memoria disponible, por ejemplo al iniciar el juego despues de cargar 2 o 3 recursos, esta deberia enseñar un valor fijo en todas las ejecuciones, pero no es así...

Lo que me preocupa es que me dice 7 megas libres pero a veces ha llegado a poner 8 e incluso 9.

Entiendo que el origen de la diferencia podria ser algun proceso del menu de la consola ajeno al juego, que ejecute o consuma algun recurso variable, pero el juego en si el solito deberia presentarme valores siempre fijos.
Encima que repito siempre el mismo proceso, o sea, enciendo la consola y me voy directo a ejecutar el juego, asi que el menu no deberia cambiar mucho estos valores...

El problema que tengo con esto, es que tengo la memoria a tope en algunos puntos donde la libero toda antes de cargar mas cosas, pero como resultado de esto, como los nuevos recursos estan a tope de las capacidades de la consola, hay veces que el juego se sale al menu por falta de memoria para su carga (en este caso no pone Abort pero si Killed), pero otras veces no lo hace, me imagino que es cuando estos valores de memoria disponible estan un pelin mas altos...

SplinterGU

explica un poco mas, enumera que aplicaciones corres desde que enciendes la consola y en consumo de memoria en cada corrida de tu programa... describe todo, paso a paso lo que haces y los resultados... (no pongas un video...)
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Enciendo la consola, entro en el menu de juegos y ejecuto el juego.

El juego carga algunos recursos y al principio dle primer proceso imprimo la memeory_free, solo esto.

El juego va hacer siempre lo mismo, o sea cargar los mismos recursos, y yo siempre hago lo mismo, enciendo la consola y ejecuto el juego.

SplinterGU

cada vez que enciendes la consola y ejecutas el juego da valores diferentes? o enciendes la consola, ejecutas el juego varias veces?

o sea:

1) enciendes, ejecutas, apagas, enciendes, ejecutas, apagas, enciendes, ejecutas, apagas, etc...

o

2) enciendes, ejecutas, sales del juego, ejecutas, sales del juego, ejecutas, etc...


(nota: si alguna vez el juego no arranca por falta de memoria y lo vuelves a arrancar, ya no cuenta como "enciendo, ejecuto", hay 2 ejecuciones de programas...)

comenta tambien version de firmware, y cuando modificacion que tengas en la consola.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Quote from: SplinterGU on September 26, 2011, 12:27:43 PM
cada vez que enciendes la consola y ejecutas el juego da valores diferentes? o enciendes la consola, ejecutas el juego varias veces?

o sea:

1) enciendes, ejecutas, apagas, enciendes, ejecutas, apagas, enciendes, ejecutas, apagas, etc...

o

2) enciendes, ejecutas, sales del juego, ejecutas, sales del juego, ejecutas, etc...


(nota: si alguna vez el juego no arranca por falta de memoria y lo vuelves a arrancar, ya no cuenta como "enciendo, ejecuto", hay 2 ejecuciones de programas...)

comenta tambien version de firmware, y cuando modificacion que tengas en la consola.


He probado de las 2 formas, y en ambas los valores varian.

La version no se, te lo digo luego, pero tambien probaré en la Caanoo.

SplinterGU

necesito saber resultados de la forma 1, tomando nota a consciencia...

por ejemplo, si corres de la forma 2, y me dices que lo hiciste de la forma 1... entonces no podre darte una solucion... necesito exacto paso a paso... asi sea, entras y salis al menu de la consola 2 o 3 veces, pones y quitas la SD, cambias el volumen, entras a una opcion de configuracion o pulsas botones mientras bootea... incluso si apagas mal la consola puede afectar si esta hace que se chequee la SD o no, en el arranque... lo que hagas, exactamente todo lo que hagas...

intenta que la consola se apague correctamente tras cada corrida/encendida.

necesito exactamente los pasos que has hecho en cada prueba, para poder pensar una solucion/causa correcta del problema... con datos no concretos no le veo solucion...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Jolin, no me explico bien o que ?
A ver si asi entiendes....

LOOP

    Enciendo_la consola_en_su_boton();
   
    Entro_en_el_juego();

    say(memory_free);

    Salgo_del_juego();

    Apago_la_consola_en_su_boton();

    FRAME;

END

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

solo falta ponerte los valores... luego en casa ya lo hago y pruebo en caanoo a ver.

Mi insinto me hace pensar que tambien pueda ser por la mochila

SplinterGU

la mochila consume, pero entiendo que estas probando siempre con el mismo ejecutable... si no es asi, entonces no me estas contando todo... cuando digo que me cuentes el detalle de todo lo que haces, es todo... entende que cuando hay un bug donde no hay con que probar, quien me lo cuenta es mis ojos y oidos... si vos te saltas detalles entonces no tengo una vision completa de lo que pasa...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Ya solo me falta bajarme los pantalones para enseñarte todo  ;D

SplinterGU

Quote from: FreeYourMind on September 26, 2011, 05:30:04 PM
Ya solo me falta bajarme los pantalones para enseñarte todo  ;D

de eso paso...

pero entiende que yo no estoy viendo el problema en vivo y en directo, asi que todo detalle que me des me ayuda a entender el problema... mejor es que me pases un ejemplo... recuerdas cuando tenias el problema con la mochila y no me decias que usabas mochila y a mi me funcionaba? bueno, cuanto mas detalles me pases es mejor para que yo entienda que pasa... si saltas algun detalle la cosa se complica...

por eso, para hacer testing de bugs, lo mejor son los resportes de los no programadores, porque no asumen cosas y uno cuando dice que te pasen los detalles, hasta te dicen con que dedo presionaron el boton de encendido... un programador (a veces) mal asume cosas y no te cuenta todo, porque el no le ve relacion al problema... pero el peor error de un programador es asumir.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Probado en Wiz,y Caanoo.

1 - No cargo recursos

2 - He usado parametro mochila (aunque no cargue recursos)



Program TestMem;

import "mod_wm"
import "mod_video"
import "mod_key"
import "mod_scroll"
import "mod_timers"
import "mod_time"
import "mod_text"
import "mod_string"
import "mod_mouse"
import "mod_map"
import "mod_proc"
import "mod_sound"
import "mod_file"
import "mod_rand"
import "mod_screen"
import "mod_grproc"
import "mod_draw"
import "mod_math"
import "mod_joy"
import "mod_mem";

BEGIN
  set_mode(320, 240, 16);
  set_fps(60, 0);
 
  write(0, 200, 90, 0, memory_free());
  write(0, 200, 100, 0, memory_free()/1024000); // MegaBytes
 
  LOOP
 
  FRAME;
  END
END




Resultados:


caanoo

59355136
57

59576320
58

59523072
58

...



Wiz:

16261120
15

(no lo he he apuntao)
14

...


SplinterGU

estas pruebas son, apagando la consola en cada uno de los resultados, cierto?
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

1 MB no es 1024000 es 1048576 = 1024*1024.

por otro lado, prueba hacer write_int y asignar los valores a esas variables int dentro del loop... no sea cosa que este en background el core del operativo con algun servicio o descargando algo...

otra cosa, estas con la consola conectada por cable? con driver de red? o la tienes sola, y pones y quitas la memoria?

por otro lado, antes y despues de arrancar el juego pon un


echo ---------------- >> log
cat /proc/uptime >> /log
ps -ef >> log
sync
juego...
ps -ef >> log
echo ---------------- >> log
sync


cada vez que reinicies la consola, copia el archivo de log y subilos aca.

a ver que da eso...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2