Probleme mit FreeImage
Übersicht

RazaR|619|Betreff: Probleme mit FreeImage |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi zusammen,
ich arbeite nun schon länger an einem Projekt, was relativ viele Grafiken benötigt. Nu wollt ich endlich mal versuchen bisschen an der Performance und Speicherauslastung zu schrauben, jedoch steig ich nicht ganz hinter die Funktionsweise von FreeImage. Ich nutze ein Types in denen ich die Grafiken selbst (mit LoadImage) und ihre Atrribute einlese. Dabei will ich allerdings verschiedene Sets von Grafiken nutzen, was ein Nachdenken über das zwischenzeitliche Freigeben von Arbeitsspeicher nötig macht. Bisher dachte ich immer, dass mit Freeimage die Bilder entsprechend aus dem "Gedächtnis" von BlitzBasic gelöscht werden und man die Variable entsprechend neu belegen kann. Was ich jedoch festgestellt hab ist, dass ich die Bilder lediglich nicht mehr ansprechen kann, der Speicher jedoch nach wie vor belegt ist und wenn ich die Variablen neu belege nur weiterer Speicher reserviert wird. Kann mich da mal einer aufklären, was ich da falsch verstanden hab? |
||
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: Was ich jedoch festgestellt hab ist, dass ich die Bilder lediglich nicht mehr ansprechen kann, der Speicher jedoch nach wie vor belegt ist
Und wie hast du das festgestellt? |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
RazaR|619| |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Im Taskmanager verrinert sich jedenfalls nicht der belegte Speicher. Und das ich sie nichtmehr ansprechen kann merkt man ja, wenn man versucht sie mit Befehlen wie DrawImage anzusprechen. | ||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du gehst davon aus das es direkt gelöscht wird.
Kann mich nicht daran erinnern das das irgendwo so dokumentiert ist. Von daher: steigt der speicherverbrauch wenn du danach dinge lädst? Wie siehts mit dem speicherverbrauch 3 min später aus? Wie gross sind deine bilder? 256x256x32bit ist 0.25MB, das siehst du im taskmanager ziemlich sicher net, denn wenns net genutzt wird könnte es auch im ausgelagerten speicher sein (speziell wenn du wenig RAM hast). da musst du die anzeigedaten des prozessmanagers anpassen um das gescheit zu verfolgen |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
RazaR|619| |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Bilder sind unterschiedlich groß, bloß halt mehrere. Du meinst also, dass ich zum freigeben nicht mehr machen muss ja? Hat mich nur gewundert, dass wenn ich die alle freigebe ich nichts davon sehe, wenn ich neue einlade jedoch schon (2-3mb mehr belegt im RAM). Hatte nur Angst, dass sich das immer weiter steigert und irgendwann vll den Rahmen sprengt. | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group