DIMs Speicherreservierungsmethode
Übersicht

Omenaton_2Betreff: DIMs Speicherreservierungsmethode |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi !
Ich hätte folgende Frage : Wenn ich am Anfang des Programmes ein DIM erschaffe sagen wir in Größe 100 Dim gfxIcon_H(99), lasse es aber erstmal leer, reserviert dieses DIM für sich da schon speicher so, als ob die 100 Felder alle voll wären ? Wahrscheinlich nicht, weil da weiß das Programm noch gar nicht, womit es gefüllt werden soll. Wenn ich aber wenig später ein paar Felder mit Grafiken auffülle (ich benutze dieses DIM um kleine 48x48 pixel große Icons für Items abzulegen) und somit das Programm weiß, daß in diese DIM nicht einfach nur kleine Integer-Werte reinkommen sondern Images, wird dann für alle 100 Felder Speicher belegt ? Die Sache wird dadurch erst wirklich kompliziert und unschön, daß ich nicht von 0 bis 99 fortlaufend das DIM füllen will, sondern mit Lücken. Also zum Beispiel in Offset 2, 6, 22 und 55 kommen Grafiken rein, in die anderen gar nichts, auch später nicht. Das hätte gute Gründe (IDs), auf die ich jetzt nicht näher eingehen will, das spielt keine Rolle warum. Werde in so einem Fall zu Mindest die Offsts bis 55 alle Speicher reservieren oder nur die tatsählich belegt Felder ? Sollte es so sein, daß immer nur dann, wenn ein DIM Offset tatsächlich eine "Ladung" erhält Speicher verbraucht wird, dann wäre das nämlich eine sehr gute Methode an der Stelle in meinem Code, wo das gebraucht wird. Wenn nicht, dann muß ich wohl fortlaufend das DIM füllen, das wäre aber in Zusammenhang ungünstig. |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn Du dim bla(99) machst werden 100*4 Byte Speicher reserviert(plus evtl. einem kleinen Header für das DIM), da alle Datentypen in BB primär mal 4 Byte belegen. Images, Strings etc werden als Handle, sprich als 32-Bit-Pointer eingespeichert, der auf die eigentliche Datenstruktur zeigt. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Omenaton_2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke für die Anwort.
Dann kann ich hoffentlich heute Nachmittag die aktivierten Items wegen Cooldown-Phase in Graustufen Bildern wie geplant einbauen. |
||
![]() |
blackgecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Wenn ich aber wenig später ein paar Felder mit Grafiken auffülle...
Da werden ja nur die Nummern gespeichert, die das Programm braucht, um auf die geladenen Bilder im Speicher zuzugreifen, nicht die Bilder selbst. |
||
So long and thanks for all the fish.
Fedora 17 | Windows 7 || BlitzPlus | BlitzMax Rechtschreibflame GO!!! Deppenapostroph | SeidSeit | Deppenakzent | DassDas | Deppenleerzeichen | TodTot | enzigste.info - Ja, ich sammel die. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group