freeimage() ?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

freeimage() ?

Beitrag von sen-me »

sollte man das anwenden?

wenn ja, auch wenns per includebinary geladen wurde?
Benutzeravatar
DataMiner
Beiträge: 220
Registriert: 10.10.2004 18:56

Beitrag von DataMiner »

"Sauberer" wäre es den Speicher wieder freizugeben.
Schaue dir einfach mal den Speicherverbrauch deiner Anwendung mit und ohne freeimage() an und entscheide dann selbst.
__________________________________________
Weniger glauben - mehr wissen!
------------------------------------------------------
Proud beneficial owner of SpiderBasic, PureBasic 3.x, 4.x, 5.x and PureVisionXP
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

Beitrag von sen-me »

wenn sauber wärden würde dann müsste man vor allem noch freegadget closewindow freetoolbar und sowas schreiben :roll:

also würd ich sagen nur bei bildern/sound/musik/datein speicher freigeben?
Benutzeravatar
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

Beitrag von ts-soft »

sen-me hat geschrieben:wenn sauber wärden würde dann müsste man vor allem noch freegadget closewindow freetoolbar und sowas schreiben :roll:

also würd ich sagen nur bei bildern/sound/musik/datein speicher freigeben?
PureBasic Gadgets, Images usw. werden am Programmende autom. freigegeben (Ich hoffe :wink: ), wenn Du jedoch eine Speicher oder eine Image nicht mehr benötigst, solltest Du dies auch freigeben, damit dies nicht unnötig im RAM rumlungert. Per API erzeugte Resourcen mußte oft selber freigeben, da Purebasic diese nicht autom. freigibt (jedoch manchmal erledigt auch Windows dies autom. wenn das Fenster geschlossen wird).
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.
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

bei includebinary stehts ja im grunde 2x im speicher...
einmal im anhang deines programms, und einmal dort, wo dus von dort hinlädtst...

ich finde es durchaus praktisch, nicht mehr benutzten speicher wieder freizugeben...

mir ist das oft passiert, das 'professionelle' games das nicht machen,
da lungern manchmal noch die vorherigen level im speicher rum,
der speicherverbrauch steigt stetig an,
und irgendwann muss man rebooten und das aktuelle spiel nochmal laden,
um wieder anständig spielen zu können.


> vor allem noch freegadget closewindow freetoolbar und sowas

wenn du z.b. für nen neuen level/ein neues projekt ein neues fenster aufmachst,
weil du das eben machst am anfang eines levels, und vergißt, das alte sauber zu clearen,
könnte das auch son resourcen-fresser werden...

ich bin mir nicht sicher, ob durch ein closewindow sämtliche benutzen bestandteile
automatisch freigegeben werden, ich würds sicherheitshalber explizit machen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten