argus Portal
Freund/in des Forums
Hallo
Wie im Titel angedeutet geht es um die zumindest bei Listen nicht optimale Speicherverwaltung seitens LSL.
Bevor ich jetzt eine Reihe von Versuchen starte, frage ich erstmal hier, ob jemand zuverlässig weiss, ob
das Elemente ersetzen, löschen, hinzufügen usw. speicherschonender (Fragmentierung) bei einer der beiden Varianten ist, oder ob beides aufs selbe hinausläuft.
Beispiel, in welchem ich das mittlere Element ersetze:
string s;
list l;
s = "abc";
l = ["a","b","c"];
// String
s = llDeleteSubString(s,1,1);
s = llInsertString(s,1,"d");
// Liste
l = llListReplaceList(l,["d"],1,1);
P.S. Ich rede natürlich von Situationen, in denen Vorgänge wie oben sehr oft ablaufen.
Aktuell arbeite ich an einem Spiel in dem ich Undo-Schritte in einem Ringpuffer unterbringen will. Es soll beliebig vor und zurück navigiert werden können.
Wie im Titel angedeutet geht es um die zumindest bei Listen nicht optimale Speicherverwaltung seitens LSL.
Bevor ich jetzt eine Reihe von Versuchen starte, frage ich erstmal hier, ob jemand zuverlässig weiss, ob
das Elemente ersetzen, löschen, hinzufügen usw. speicherschonender (Fragmentierung) bei einer der beiden Varianten ist, oder ob beides aufs selbe hinausläuft.
Beispiel, in welchem ich das mittlere Element ersetze:
string s;
list l;
s = "abc";
l = ["a","b","c"];
// String
s = llDeleteSubString(s,1,1);
s = llInsertString(s,1,"d");
// Liste
l = llListReplaceList(l,["d"],1,1);
P.S. Ich rede natürlich von Situationen, in denen Vorgänge wie oben sehr oft ablaufen.
Aktuell arbeite ich an einem Spiel in dem ich Undo-Schritte in einem Ringpuffer unterbringen will. Es soll beliebig vor und zurück navigiert werden können.
Zuletzt bearbeitet: