Antwort schreiben  Thema schreiben 
Verfasser Nachricht
Schaschlix
Profi
****


Beiträge: 366
Gruppe: User
Registriert seit: Nov 2009

Status: Offline
Danke erhalten: 71
Beitrag: #1
xPSP  [LUA] RAM leeren, aber wie?

Hallo Leute,
ich mal eine kurze Frage zum Thema RAM der PSP mit LUA leeren. Wenn ich jetzt z.B. folgenden Code habe:

Code:
1  = Image.load("1.jpg")
2  = Image.load("2.jpg")
3  = Image.load("3.jpg")
4  = Image.load("4.jpg")
5  = Image.load("5.jpg")
6  = Image.load("6.jpg")
7  = Image.load("7.jpg")
8  = Image.load("8.jpg")
9  = Image.load("9.jpg")

while true do
pad = Controls.read()
screen:blit(10,10,1,true)
screen:blit(10,20,2,true)
screen:blit(10,30,3,true)
screen:blit(10,40,4,true)
screen:blit(10,50,5,true)
screen:blit(10,60,6,true)
screen:blit(10,70,7,true)
screen:blit(10,80,8,true)
screen:blit(10,90,9,true)
--RAM der PSP voll

if pad:cross() then
?
System.memclean()
collectgarbage()
?
dofile("2.lua")
end
screen.waitVblankStart()
screen.flip()
end



Memclean() scheint iwie nicht zu funzen, denn wenn ich in 2.lua mehr Bilder lade bleibt die PSP hängen. Bei collectgarbage() bin ich mir über die Verwendung nicht sicher. Wäre cool wenn jemand den oben stehenden Code verbessern oder mir sagen könnte wie ich das mit dem RAM hinbekomme.

MfG
Schaschlix

Dieser Beitrag wurde zuletzt bearbeitet: 06.04.2010 12:13 von Schaschlix.

06.04.2010 12:12
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
D!S
Legende
*****


Beiträge: 1.537
Gruppe: User
Registriert seit: Sep 2009

Status: Abwesend
Danke erhalten: 470
Beitrag: #2
xPSP  RE: [LUA] RAM leeren, aber wie?

Schaschlix :
Hallo Leute,
ich mal eine kurze Frage zum Thema RAM der PSP mit LUA leeren. Wenn ich jetzt z.B. folgenden Code habe:

Code:
1  = Image.load("1.jpg")
2  = Image.load("2.jpg")
3  = Image.load("3.jpg")
4  = Image.load("4.jpg")
5  = Image.load("5.jpg")
6  = Image.load("6.jpg")
7  = Image.load("7.jpg")
8  = Image.load("8.jpg")
9  = Image.load("9.jpg")

while true do
pad = Controls.read()
screen:blit(10,10,1,true)
screen:blit(10,20,2,true)
screen:blit(10,30,3,true)
screen:blit(10,40,4,true)
screen:blit(10,50,5,true)
screen:blit(10,60,6,true)
screen:blit(10,70,7,true)
screen:blit(10,80,8,true)
screen:blit(10,90,9,true)
--RAM der PSP voll

if pad:cross() then
?
System.memclean()
collectgarbage()
?
dofile("2.lua")
end
screen.waitVblankStart()
screen.flip()
end



Memclean() scheint iwie nicht zu funzen, denn wenn ich in 2.lua mehr Bilder lade bleibt die PSP hängen. Bei collectgarbage() bin ich mir über die Verwendung nicht sicher. Wäre cool wenn jemand den oben stehenden Code verbessern oder mir sagen könnte wie ich das mit dem RAM hinbekomme.

MfG
Schaschlix

Code:
System.memclean()

Das ist der Memclean Code!

Was soll dein Homebrew genau bewirken?



06.04.2010 12:19
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Folgende User bedanken sich:
Schaschlix (Apr-6-2010)
Schaschlix
Profi
****


Beiträge: 366
Gruppe: User
Registriert seit: Nov 2009

Status: Offline
Danke erhalten: 71
Beitrag: #3
xPSP  RE: [LUA] RAM leeren, aber wie?

Okay ich versuch nochmal ein bisschen mit dem Befehl und berichte dann.

06.04.2010 12:22
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Neutrosider
Developer
*


Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010

Status: Offline
Danke erhalten: 2325
Beitrag: #4
RE: [LUA] RAM leeren, aber wie?

Du musst bedenken, dass in lua nicht zu viele dateien gleichzeitig offen sein dürfen. vorallem fällt das beim zip entpacken auf. scheinbar ist da ein fehler beim schließen entpackter zip dateien. wenn man eine zip entpackt hat, kann man sich nicht nochmal entpacken, und ab ner bestimmten anzahl entpackter zips sagt er error, too many open files.

kann gut sein dass du einfach zu viele bilder lädst. du könntest ja mal die bilder posten, viliecht aknn man die ja so anpassen, dass man garnicht so viele braucht.

06.04.2010 12:51
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Folgende User bedanken sich:
Schaschlix (Apr-6-2010)
jaz0n
Halbprofi
***


Beiträge: 136
Gruppe: User
Registriert seit: Oct 2009

Status: Abwesend
Danke erhalten: 52
Beitrag: #5
xPSP  RE: [LUA] RAM leeren, aber wie?

Du wirst ja sicher nicht alle Bilder gleichzeitig verwenden! Daher lädst du die Bilder nur dann wenn sie gebraucht werden (also in der while schleife) und setzt danach die Bildvariable auf nil. Dann nurnoch die collectgarbage() funktion durchlaufen lassen und der ram bleibt "clean".

Im Beispiel

du hast 3 bilder, die du noch nicht in den code einfügst!

Code:
Bild1 = Image.load("bild1.png")
Bild2 = Image.load("bild2.png")
Bild3 = Image.load("bild3.png")


Dann willst du bild eins bei druck auf Kreuz anzeigen lassen.

Code:
pad = Controls.read()
while true do
if pad:cross() then
bild1 = Image.load("bild1.png")
screen:blit(1,1,bild1,true)
end

Beim nächsten druck auf dreieck soll bild 2 geladen werden

Code:
if pad:triangle() then
bild1 = nil
bild2 = Image.load("bild2.png")
screen:blit(1,1,bild2,true)
end

so jetzt bei druck auf r soll das 3. geladen werden

Code:
if pad:r() then
bild2 = nil
bild3 = Image.load("bild3.png")
screen:blit(1,1,bild3,true)
end

so jetzt noch die collect garbage funktion einfügen

Code:
collectgarbage()
screen.waitVblankStart()
screen.flip()
end


So und das system musst du jetzt noch auf deinen Code übertragen und der ram bleibt frei xmas

06.04.2010 13:02
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Folgende User bedanken sich:
Schaschlix (Apr-6-2010)
Schaschlix
Profi
****


Beiträge: 366
Gruppe: User
Registriert seit: Nov 2009

Status: Offline
Danke erhalten: 71
Beitrag: #6
xPSP  RE: [LUA] RAM leeren, aber wie?

Cool danke...
Habe aber den eigentlichen Fehler gefunden. Es liegt nicht am ru kleinen RAM sondern an dem Bild, dass ich anzeigen wollte, das hat nämlich den Fehler ausgelöst.

06.04.2010 13:35
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Antwort schreiben  Thema schreiben 

Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
xPSP Will einen Updater mit Lua proggen, aber wie? SIM sk 2 1.732 08.09.2012 20:58
Letzter Beitrag: SIM sk
xPSP PGE Lua Ram leeren Blacky94 0 1.136 30.06.2012 00:31
Letzter Beitrag: Blacky94
xPSP Homebrew lässt sich am PC, aber nicht auf der PSP starten!? Byter 1 1.581 29.01.2012 15:42
Letzter Beitrag: duLouser
xPSP Header.h includen, aber wo? SolidCakeS 6 2.007 22.02.2011 22:35
Letzter Beitrag: SolidCakeS
xPSP Toy Wars Modding, aber wie? Pac:Man 3 1.419 30.01.2010 18:01
Letzter Beitrag: alexking

Druckversion anzeigen
Thema einem Freund senden
Thema abonnieren | Thema zu den Favoriten hinzufügen




» zum Seitenanfang