Immer freesprite() vor loadsprite() ?
Immer freesprite() vor loadsprite() ?
Hallo!
Wenn ich eine Grafik genau indiziert lade, also z.B. loadsprite(1,"C:\grafik.bmp") und nun etwas damit anstelle und daraufhin den Befehl wiederhole, also nochmals loadsprite(1,"C:\grafik2.bmp), geht dann doppelter Speicher verloren oder wird die erste Grafik im Speicher einfach überschrieben?
Vielen Dank für Eure Hilfe
Wenn ich eine Grafik genau indiziert lade, also z.B. loadsprite(1,"C:\grafik.bmp") und nun etwas damit anstelle und daraufhin den Befehl wiederhole, also nochmals loadsprite(1,"C:\grafik2.bmp), geht dann doppelter Speicher verloren oder wird die erste Grafik im Speicher einfach überschrieben?
Vielen Dank für Eure Hilfe
(Win 11 64-bit, PB 6.04 und 6.10)
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Sobald ein PBIdentifier, also in diesem Falle die 1, erneut benutzt wird, wird
der alte entfernt und freigegeben. Free...(PBID) sind also nicht erforderlich,
erhöhen aber die Lesbarkeit
PS: Mit strings hat das ganze aber nicht viel zu tun
der alte entfernt und freigegeben. Free...(PBID) sind also nicht erforderlich,
erhöhen aber die Lesbarkeit
PS: Mit strings hat das ganze aber nicht viel zu tun

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Danke für Deine Antwort. Das ist mir natürlich klar. Ich weiß auch, dass ich auf die erst Grafik keinen Zugriff mehr habe, aber ich verstehe nicht, was PB intern mit den Speicherstellen macht. Bleibt die erste Grafik noch im Video-Ram oder wird der Speicher wie bei freesprite() freigegeben?
(Win 11 64-bit, PB 6.04 und 6.10)
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
es ist aber allgemein davon abzuraten, einen solchen (un)stil zu pflegen...
wenn du sprite-nummern erneut vergeben willst, cleare vorher die vorherigen.
das szenario, bei dem das praktisch sein könnte,
wäre z.b. ein menu, für des du soviel grafix einlädst,
dass die graka an die obergrenze kommt.
bevor du dann den nächsten level lädst, wäre es natürlich praktisch,
alle bisherigen zu entladen, und danach die level-grafix neu einzuladen.
für so etwas mach dir eine LL, wo du die aktuellen sprites "mitschreibst" beim laden,
damit du auch wirklich die richtigen rauswerfen kannst beim nächsten laden.
wenn es nicht um so etwas geht, ist dein anfragen eher sinnfrei....
wenn du sprite-nummern erneut vergeben willst, cleare vorher die vorherigen.
das szenario, bei dem das praktisch sein könnte,
wäre z.b. ein menu, für des du soviel grafix einlädst,
dass die graka an die obergrenze kommt.
bevor du dann den nächsten level lädst, wäre es natürlich praktisch,
alle bisherigen zu entladen, und danach die level-grafix neu einzuladen.
für so etwas mach dir eine LL, wo du die aktuellen sprites "mitschreibst" beim laden,
damit du auch wirklich die richtigen rauswerfen kannst beim nächsten laden.
wenn es nicht um so etwas geht, ist dein anfragen eher sinnfrei....
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22