Hola a todos me preguntaba cual era la orden para limpiar la memoria ram en lua, ojo no formatear la tarjeta de memoria sino limpiar (o formatear) la memoria ram. Gracias
Editado: Movido a Programacion, postear en el lugar incorrecto incumple las Normas de la Comunidad, antes de volver a postear por favor revíselas.| --Gomasz--|
PSP Slim TA-085v2 :OFW 3.72->3.80m33->3.90m33->4.01m33->5.00m33-6+Parche 5.00m33-7+5.00prometheus-3 v4+SNDC XMB mod->6.37ME-7->6.37ME-8->6.38ME->6.38ME-2->6.3ME-3->6.39ME->6.39ME-2->6.39ME-2 recovery fix->6.39ME-3->6.39ME-4->6.39ME-5->6.39ME->6.39ME-7->6.60ME-1.6
NDS Lite: Acekard2i v1.8.8 ¡¡¡CUIDEN LA ORTOGRAFÍA!!!
Sony xperia neo android 2.3.3 root
Galaxy nexus ICS 4.0.2 root
Wii negra v4.2E->HBC 1.0.8 (IOS58)+HerMes Mod (222,223,224,225,260)+D2X 7 Final (245,246,247,248,249,250)
Bueno yo segun lo aprendido,
Bueno yo segun lo aprendido, hago esto
imagen = image.load("ruta")-- aki la cargas
Con esto de abajo ya tienes liberada la ram, claro en luadev, xD!
imagen:free();
imagen = nil;
mmm
si hace eso, si no me equivoco le dará error, al intentar llamar imagen despues de hacer image:free(); de todas manera que pruebe, pero casi estoy seguro que le dará error o es una manera u otra XD
Mis Homebrew´s
De hecho no daría error,
De hecho no daría error, porque no está llamando a la variable de imagen, sino que le está asignando otro valor (es como hacer sonido = sound.load y líneas más abajo poner sonido = 25)
Aún así, no le veo sentido al asignarle el valor de nil a la variable despúes de usar imagen:free(), porque ya valdría nil :P
mmm
oh es verdad, si fuera al reves habria error? es que no se por que pero tengo eso de que si da error no se por que XD creo necesito dormir XD
Mis Homebrew´s
Si da error, yo lo uso por
Si da error, yo lo uso por ejemplo si voy de una funcion menu() a funcion juego() y no usare las imagenes pues la free() y nil y libero. luego cuando vuelva a menu pos se vargan nuevamente y la uso, claro esta no las cargo en el WTD, las cargo dentro de la funcion pero antes del WTD.
Algo asi
Algo que me funciona a mi.
fondo = image.load("fondo.png")
jugador = image.load("jugador.png")
S_fondo = sound.load("fondo.mp3")
function Limpiar_Ram()
fondo = nil jugador = nil S_fondo = nil collectgarbage("collect")
end
Lo de arriba para luadev si usas HM7 es asi
function Limpiar_Ram()
fondo = nil jugador = nil S_fondo = nil System.memclean() collectgarbage()
end
Pequeño comentario :P
Hasta donde sé, poner las variables que manejan las imágenes (objeto imagen? nunca entendí cual era el paradigma de Lua..). Es como si en C declaras una variable int y le das valor NULL. Seguirá ocupando los 16 bits de todas formas, ya que ese es el espacio que se le ha asignado al declarar la variable (supongo que Lua internamente funcionará de una manera similar, ya que el intérprete esta hecho en C..). collectgarbage no estoy seguro de qué haga...
Un saludo.
Para recibir ayuda por parte de otros usuarios más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda que accediendo al Manual del perfecto forero y las Normas de la Comunidad aprenderas trucos para resolver tus dudas antes.
No preguntes por MP, mejor pregunta aquí.
Pos...
Lua, hace algo similar a java, todos los espacios de memoria que no tengan ninguna referencia, es decir, que ninguna variable apunta a este (eso hace variable = nil), es liberado por el recolector de basura que pasa cada cierto tiempo a revisar, claro que en lua puedes invocarlo con el collectgarbage, pero en sí, eso es lo que hace.
Otra cosa (para sting), por qué mejor no:
Porque eso de andar poniendo variables a nil, y pasando el collectgarbage teniendo free, lo veo algo... cutre =/
Saludos!
PSP FAT [5.00 M33-6] [6.60 ME] [Hard Moded] / Nintendo Wii [4.1U] [cIOS Hermes] [D2X cIOS] / iPhone 3G [4.2.1] [BB 05.13.04] [redsn0w] / iPod Touch 4 [6.1] [evasi0n]
07/05/10: Tuve el placer de llamarle con todo derecho "N00B" a molotovi xDDD
Recuerda: Sé el intérprete -_-
Cuando tienes razon , tienes razon xD.
Si esta hecho en C HM por lo que he visto usa librerias ajenas de las sdk y lua dev usa el sistema original basado en los antiguos 4.XX por lo que he visto para poder firmar un HB y que lo aga de la mejor manera tienes que tenerlo en 3.XX con PSP_HEAP_SIZE_KB(20480); entonces imagino que deviante a de ver usado algo parecido, no estoy muy apegado a C pero a veces ago pruebas para HB mejores, y si exactamente eso hace(lo que tu dices) y collectgarbage() en lua dev tiene icorporado el memclean y lo que hace es simplemente darle otra pasada a los archivos cargados puestos en NULL(C), nil(lua) y hacer una mejor limpieza (segun) aunque a veces en las psp fat tienes que incorporar "collect" dentro de collectgarbage() para que funcione, porque la verdad no sabria decirte eso no he revisado bien el SRC de los LUAplayers saludos moikop.
um...
Lo normal sería poner siempre "collect" para que realice un ciclo completo de limpieza, aunque... no se, creo que cuando no se pone, este es el valor por defecto, pero no estoy seguro.
Para más información sobre los parámetros de collectgarbage: http://www.lua.org/manual/5.1/manual.html#pdf-collectgarbage
PSP FAT [5.00 M33-6] [6.60 ME] [Hard Moded] / Nintendo Wii [4.1U] [cIOS Hermes] [D2X cIOS] / iPhone 3G [4.2.1] [BB 05.13.04] [redsn0w] / iPod Touch 4 [6.1] [evasi0n]
07/05/10: Tuve el placer de llamarle con todo derecho "N00B" a molotovi xDDD
Recuerda: Sé el intérprete -_-
Hasta donde mi ignorancia me
Hasta donde mi ignorancia me permite saber, no hay una instrucción que elimine todo lo cargado. Existe collectgarbage, pero no hace lo que tu quieres.
La mejor forma, en mi opinión, es la que te propone dioni. Nombra tus imágenes como imagen1, imagen2.... de tal manera que puedas cargarlas y descargarlas con un simple ciclo for.
Otra manera menos recomendable, pero funcional, es cargar tus imágenes en una tabla, y cuando ya no las necesites igualas la tabla a nil y pasas collectgarbage.
Y darle un chute al Cpu, eso
Y darle un chute al Cpu, eso de que sirve man?
No entiendo a qué te refieres
No entiendo a qué te refieres :S
os.cpu(XXX)
os.cpu(XXX)
A vaya... por qué no lo
A vaya... por qué no lo dijiste antes? xD
Pues sirve para modificar la velocidad del procesador, sencillamente :P
Si limpias o formateas la ram
donde cargas los archivos?
Lo que puedes hacer es limpiarla de imagenes que no necesitas con image.free() o de sonidos que ya no vas a necesitar con sound.free()
Sí, esa fué mi primera idea
pero cuando cambio de script y tenía pues... 50 imágenes cargadas no voy a screbir en el nuevo 50 veces Image.free...
Creo yo que es más rápido y cómodo limpiar la memoria ram cuando cambio de script ya que no necesito la cargadas y las nuevas se van a cargar despues de limpiarla.
PSP Slim TA-085v2 :OFW 3.72->3.80m33->3.90m33->4.01m33->5.00m33-6+Parche 5.00m33-7+5.00prometheus-3 v4+SNDC XMB mod->6.37ME-7->6.37ME-8->6.38ME->6.38ME-2->6.3ME-3->6.39ME->6.39ME-2->6.39ME-2 recovery fix->6.39ME-3->6.39ME-4->6.39ME-5->6.39ME->6.39ME-7->6.60ME-1.6
NDS Lite: Acekard2i v1.8.8 ¡¡¡CUIDEN LA ORTOGRAFÍA!!!
Sony xperia neo android 2.3.3 root
Galaxy nexus ICS 4.0.2 root
Wii negra v4.2E->HBC 1.0.8 (IOS58)+HerMes Mod (222,223,224,225,260)+D2X 7 Final (245,246,247,248,249,250)
con bucle for
for i=1,50 do
image.free(Imagen[i])
end
--Ya estarian las 50 borradas
50 imagenes? Como trabajas
50 imagenes?
Como trabajas :)
Salu2.
Apágala, es la forma más
Apágala, es la forma más eficiente de limpiarle la RAM.
jajaja
Estoy seguro de que nadie tendrá una mejor respuesta que esta, ya que no existe mejor manera! xD
No hombre
¿Cómo vas a apgar la PSP en medio de un juego para limpiar la memoria ram y seguir jugando? Sé que hay una orden para hacer eso pero no sé cual es.
PSP Slim TA-085v2 :OFW 3.72->3.80m33->3.90m33->4.01m33->5.00m33-6+Parche 5.00m33-7+5.00prometheus-3 v4+SNDC XMB mod->6.37ME-7->6.37ME-8->6.38ME->6.38ME-2->6.3ME-3->6.39ME->6.39ME-2->6.39ME-2 recovery fix->6.39ME-3->6.39ME-4->6.39ME-5->6.39ME->6.39ME-7->6.60ME-1.6
NDS Lite: Acekard2i v1.8.8 ¡¡¡CUIDEN LA ORTOGRAFÍA!!!
Sony xperia neo android 2.3.3 root
Galaxy nexus ICS 4.0.2 root
Wii negra v4.2E->HBC 1.0.8 (IOS58)+HerMes Mod (222,223,224,225,260)+D2X 7 Final (245,246,247,248,249,250)