Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: FreeYourMind on September 26, 2011, 10:12:30 AM

Title: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: FreeYourMind on September 26, 2011, 10:12:30 AM
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...
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: SplinterGU on September 26, 2011, 12:14:13 PM
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...)
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: FreeYourMind on September 26, 2011, 12:19:51 PM
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.
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: 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.
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: FreeYourMind on September 26, 2011, 01:25:58 PM
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.
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: SplinterGU on September 26, 2011, 01:32:06 PM
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...
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: FreeYourMind on September 26, 2011, 01:44:03 PM
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
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: SplinterGU on September 26, 2011, 03:56:03 PM
no se me ocurre nada... pone un ejemplo...
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: FreeYourMind on September 26, 2011, 03:57:44 PM
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
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: SplinterGU on September 26, 2011, 05:20:43 PM
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...
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: FreeYourMind on September 26, 2011, 05:30:04 PM
Ya solo me falta bajarme los pantalones para enseñarte todo  ;D
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: SplinterGU on September 26, 2011, 05:51:40 PM
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.
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: FreeYourMind on September 26, 2011, 06:22:23 PM
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

...

Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: SplinterGU on September 26, 2011, 06:38:37 PM
estas pruebas son, apagando la consola en cada uno de los resultados, cierto?
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: SplinterGU on September 26, 2011, 06:47:37 PM
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...
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: FreeYourMind on September 26, 2011, 06:56:51 PM
El write_int congela bennu, lo se porque tuve que cambiarlas a write, eso tampoco lo entiendo, hay tipos de variables que solo funcionan con write_int y otras con write...
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: SplinterGU on September 26, 2011, 07:09:38 PM
no congela, me canso de usarlos...

int a;

write_int(...  &a);

loop
a=lala();
frame;
end

eso no congela, pone el ejemplo que decis se congela.
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: FreeYourMind on September 26, 2011, 07:49:02 PM
write_int(0, 200, 90, 0, memory_free());
write_int(0, 200, 100, 0, memory_free()/1024000);

(http://forum.bennugd.org/index.php?action=dlattach;topic=2686.0;attach=2164)



write_int(0, 200, 90, 0, &memory_free());
write_int(0, 200, 100, 0, &(memory_free()/1024000));

ERROR: Can't get the address of an inmediate value




Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: BoMbErLiNk on September 26, 2011, 07:52:55 PM
No hagas una llamada a una función usando write_int con &.
Write_int se actualiza solo, lo que debes pasarle es una variable, tal como ha puesto Splinter.
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: FreeYourMind on September 26, 2011, 08:12:15 PM
Wiz

  a = memory_free();
  b = memory_free()/1048576;
  write_int(0, 200, 90, 0, &a);
  write_int(0, 200, 100, 0, &b);


Output:

15069184
14

14938112
14
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: FreeYourMind on September 26, 2011, 08:20:56 PM
Quote from: SplinterGU on September 26, 2011, 06:47:37 PM
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...



Test del ultimo prg en Wiz con:

echo ---------------- >> log
cat /proc/uptime >> /log1
ps -ef >> log
sync
#!/bin/sh
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../bgd-runtime
PATH=$PATH:../bgd-runtime
echo 2 > /proc/cpu/alignment
bgdi TestMem.dcb
cd /usr/gp2x
exec /usr/gp2x/gp2xmenu
ps -ef >> log
echo ---------------- >> log
sync

Output

14675968
13


log:

----------------
  PID  Uid     VmSize Stat Command
    1 root        532 S   init [3]   
    2 root            SW< [kthreadd]
    3 root            SW< [ksoftirqd/0]
    4 root            SW< [events/0]
    5 root            SW< [khelper]
   38 root            SW< [kblockd/0]
   42 root            SW< [kseriod]
   64 root            SW  [pdflush]
   65 root            SW  [pdflush]
   66 root            SW< [kswapd0]
   67 root            SW< [aio/0]
  199 root            SW< [mtdblockd]
  200 root            SW< [nftld]
  214 root            SW< [ubi_bgt0d]
  215 root            SW< [ubiblockd]
  222 root            SW< [kidle_timeout]
  230 root            SW< [kmmcd]
  242 root            SW< [ubifs_bgt0_0]
  267 root        456 S < /sbin/udevd --daemon
  613 root        880 S   -sh
  665 root            SW< [mmcqd]
  681 root            SW< [ubi_bgt1d]
  684 root            SW< [ubifs_bgt1_0]
  687 root            SW< [loop7]
  707 root        876 S   /bin/sh ./TestMem.gpe
  733 root        928 R   ps -ef


---------------------

14692352
14

----------------
  PID  Uid     VmSize Stat Command
    1 root        532 S   init [3]   
    2 root            SW< [kthreadd]
    3 root            SW< [ksoftirqd/0]
    4 root            SW< [events/0]
    5 root            SW< [khelper]
   38 root            SW< [kblockd/0]
   42 root            SW< [kseriod]
   64 root            SW  [pdflush]
   65 root            SW  [pdflush]
   66 root            SW< [kswapd0]
   67 root            SW< [aio/0]
  199 root            SW< [mtdblockd]
  200 root            SW< [nftld]
  214 root            SW< [ubi_bgt0d]
  215 root            SW< [ubiblockd]
  222 root            SW< [kidle_timeout]
  230 root            SW< [kmmcd]
  242 root            SW< [ubifs_bgt0_0]
  267 root        456 S < /sbin/udevd --daemon
  614 root        880 S   -sh
  668 root            SW< [mmcqd]
  682 root            SW< [ubi_bgt1d]
  687 root            SW< [ubifs_bgt1_0]
  690 root            SW< [loop7]
  710 root        876 S   /bin/sh ./TestMem.gpe
  738 root        928 R   ps -ef





Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: SplinterGU on September 26, 2011, 10:35:58 PM
bue... pues no...

a ver...

primera pregunta... cuando se queda en el loop, los valores en pantalla se mueven o permanecen estaticos? si se mueven, lo hacen para arriba o para abajo o ambos sentidos?

script


#!/bin/sh
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../bgd-runtime
PATH=$PATH:../bgd-runtime
echo 2 > /proc/cpu/alignment
echo - uptime --------------- >> log
cat /proc/uptime >> log
echo - ps -ef (1)--------------- >> log
ps -ef >> log
sync
echo - bgdi TestMem --------------- >> log
bgdi TestMem.dcb >> log
echo - ps -ef (2)--------------- >> log
ps -ef >> log
echo - fin --------------- >> log
sync
cd /usr/gp2x
exec /usr/gp2x/gp2xmenu


prg

import "mod_time"
import "mod_string"
import "mod_mem";
import "mod_say";
private
m;
BEGIN
  m = memory_free();
  say( "mem_free() -> " + m + " [ " + format(m / (1024.0*1024.0),2) + " MB ]" );
END


proba esto, y en cada corrida guarda el archivo log y subilos aca, no los copies, atachalos.
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: FreeYourMind on September 27, 2011, 05:36:13 AM
Sigues con tu say... pero en wiz y caanoo como ves tu el say ?
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: SplinterGU on September 27, 2011, 12:06:02 PM
no necesitas ver nada, tienes que adjuntar los archivos log aqui...

hazte un curso de unix urgente... ya te lo dije varias veces, pero te encaprichas en no hacerlo... te ayudaria muchisimo de formas que no te imaginas a resolver los problemas...
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: SplinterGU on September 27, 2011, 12:40:06 PM
aca tenes un link de un curso cortito, basico y bastante claro...

http://www.todoprogramas.com/manuales/ficheros/2009/10.3555.1460.pdf

aca hay otro para complementar el anterior... es mas reducido, pero toca algunos temas/detalles que el otro no... (por si solo le falta para ser basico)

http://www.todoprogramas.com/manuales/ficheros/2008/12.9177.6781.pdf

otro mas completo, pero ya son 70 y pico de paginas

http://www.todoprogramas.com/manuales/ficheros/2008/12.3466.8445.pdf

espero no ofender con estas sugerencias, pero te aseguro que te ayudara a entender mucho de lo que preguntas.
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: FreeYourMind on September 27, 2011, 01:36:06 PM
Macho si ahora curro sobre Linux, es una question de tiempo.
Luego te hago la prueba cuando llegue a casa.
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: SplinterGU on September 27, 2011, 01:44:08 PM
entonces estos cursos te vienen bien... los 2 ultimos tocan tambien sobre compilacion en C.
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: FreeYourMind on September 27, 2011, 01:46:17 PM
Gracias, pero antes que eso tengo miles de lineas de codigo con comentarios en chino que leer xD
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: Rein (K´)ah Al-Ghul on September 27, 2011, 03:47:05 PM
Quote from: SplinterGU on September 27, 2011, 12:40:06 PM
aca tenes un link de un curso cortito, basico y bastante claro...

http://www.todoprogramas.com/manuales/ficheros/2009/10.3555.1460.pdf (http://www.todoprogramas.com/manuales/ficheros/2009/10.3555.1460.pdf)

aca hay otro para complementar el anterior... es mas reducido, pero toca algunos temas/detalles que el otro no... (por si solo le falta para ser basico)

http://www.todoprogramas.com/manuales/ficheros/2008/12.9177.6781.pdf (http://www.todoprogramas.com/manuales/ficheros/2008/12.9177.6781.pdf)

otro mas completo, pero ya son 70 y pico de paginas

http://www.todoprogramas.com/manuales/ficheros/2008/12.3466.8445.pdf (http://www.todoprogramas.com/manuales/ficheros/2008/12.3466.8445.pdf)

espero no ofender con estas sugerencias, pero te aseguro que te ayudara a entender mucho de lo que preguntas.
Grax por esto, no solo son utiles a free
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: SplinterGU on September 27, 2011, 04:25:13 PM
:)
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: KeoH on September 27, 2011, 09:10:07 PM
yo tambien me estoy leyendo los cursos esos de unix xDDDD aunq claro , toy suponiendo q mi ubuntu es 100% identico xDD
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: SplinterGU on September 28, 2011, 03:29:08 AM
te va a servir para tu ubuntu...
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: FreeYourMind on September 29, 2011, 07:48:04 PM
Quote from: SplinterGU on September 26, 2011, 10:35:58 PM
bue... pues no...

a ver...

primera pregunta... cuando se queda en el loop, los valores en pantalla se mueven o permanecen estaticos? si se mueven, lo hacen para arriba o para abajo o ambos sentidos?

script


#!/bin/sh
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../bgd-runtime
PATH=$PATH:../bgd-runtime
echo 2 > /proc/cpu/alignment
echo - uptime --------------- >> log
cat /proc/uptime >> log
echo - ps -ef (1)--------------- >> log
ps -ef >> log
sync
echo - bgdi TestMem --------------- >> log
bgdi TestMem.dcb >> log
echo - ps -ef (2)--------------- >> log
ps -ef >> log
echo - fin --------------- >> log
sync
cd /usr/gp2x
exec /usr/gp2x/gp2xmenu


prg

import "mod_time"
import "mod_string"
import "mod_mem";
import "mod_say";
private
m;
BEGIN
  m = memory_free();
  say( "mem_free() -> " + m + " [ " + format(m / (1024.0*1024.0),2) + " MB ]" );
END


proba esto, y en cada corrida guarda el archivo log y subilos aca, no los copies, atachalos.

- uptime ---------------
33.53 5.45
- uptime ---------------
24.43 3.70
- uptime ---------------
26.15 4.57
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: SplinterGU on September 30, 2011, 09:37:43 PM
y las otras lineas del log?
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: FreeYourMind on October 01, 2011, 05:38:19 AM
Se quea la pantalla en negro y freeze, al encender de nuevo la consola solo estan estas en el log...
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: SplinterGU on October 01, 2011, 07:18:37 AM
imposible... debes tener el script en formato DOS, con los saltos de linea de DOS... no puede ser...

si te leyeras los cursos de unix ayudaria un monton a resolver los temas... estamos perdiendo el tiempo en cosas muy simples y basicas...

bueno, ya paso, cuando tenga tiempo te prometo que lo miro...
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: FreeYourMind on October 01, 2011, 10:59:32 AM
Dejate de tonterias, uso el notepad++ y no tengo problemas de formato hace años...
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: SplinterGU on October 01, 2011, 03:50:07 PM
que uses el notepad no tiene nada que ver, pero no te preocupes, cuando pueda lo miro...
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: Drumpi on October 05, 2011, 07:44:55 PM
De todas formas, la memoria libre puede variar de una ejecución a otra: tienes un SO por debajo que debe administrar el espacio libre, y no siempre lo hace de la misma forma, porque en ocasiones los programas no se ejecutan en el mismo orden (sobre todo, si usan hilos) y se almacenan en distintas partes de la memoria, dejando huecos más o menos grandes (y algunos huecos pequeños son inútiles).

A eso le puedes sumar algún dispositivo HW que usa distintas partes de la RAM para que se desgaste por igual (por ejemplo, las SD tienen un dispositivo que lo hace, y cada vez que se lee algo, esta se vuelve a grabar en otra parte).

Por esto mismo tuve que retrasar la salida de uno de mis juegos (y aun sigue sin salir): la GP2X no tenía suficiente memoria RAM para cargar algunas animaciones y tuve que dividir los FPGs como buenamente pude (a ver si ahora con WIZ puedo volver a la distribución original).
Consejo: optimiza el uso de la memoria, y deja siempre 5 MB o 10 MB de sobra respecto a la memoria disponible, para que no te pase esto.
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: SplinterGU on October 05, 2011, 09:09:02 PM
si, es correcto lo que decis, pero bueno...
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: FreeYourMind on October 05, 2011, 09:23:20 PM
Quote from: Drumpi on October 05, 2011, 07:44:55 PM
De todas formas, la memoria libre puede variar de una ejecución a otra: tienes un SO por debajo que debe administrar el espacio libre, y no siempre lo hace de la misma forma, porque en ocasiones los programas no se ejecutan en el mismo orden (sobre todo, si usan hilos) y se almacenan en distintas partes de la memoria, dejando huecos más o menos grandes (y algunos huecos pequeños son inútiles).

A eso le puedes sumar algún dispositivo HW que usa distintas partes de la RAM para que se desgaste por igual (por ejemplo, las SD tienen un dispositivo que lo hace, y cada vez que se lee algo, esta se vuelve a grabar en otra parte).

Por esto mismo tuve que retrasar la salida de uno de mis juegos (y aun sigue sin salir): la GP2X no tenía suficiente memoria RAM para cargar algunas animaciones y tuve que dividir los FPGs como buenamente pude (a ver si ahora con WIZ puedo volver a la distribución original).
Consejo: optimiza el uso de la memoria, y deja siempre 5 MB o 10 MB de sobra respecto a la memoria disponible, para que no te pase esto.

Si supieras la ya optimizada que esta no me decias eso xD
Title: Re: Duda: Memoria disponible variable en puntos que deberia ser fija
Post by: Drumpi on October 07, 2011, 09:38:58 PM
Creeme, nunca está lo más optimizado posible, siempre hay alguna forma de usar menos recursos: yo llevo haciéndolo con el motor de scroll tileado desde 2004.
¿Has probado a usar gráficos de 8bits? ¿Y con paletas propias para cada proceso? ¿Y fusionando gráficos? o separando para ahorrar los huegos libres ¿La música está en OGG? ¿Has probado el formato S3M, XM, MOD o IT, a ver si te sirven? ;D