Schreiben in Pixmap -> steigende Speicherbelastung
Übersicht

![]() |
DaysShadowBetreff: Schreiben in Pixmap -> steigende Speicherbelastung |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
Ich arbeite momentan an einem kleinen Projekt, das mir allerdings jetzt schon einen Strich durch meine Rechnung machen will... Ich muss, um bestimmte Gebiete eines Images farblich zu verändern, per LockImage auf die Pixmap des Images zugreifen, dann schreibe ich dort die neuen Farbwerte hinein....und die Speicherauslastung steigt stetig bei jedem schreiben. Zur Veranschaulichung: BlitzMax: [AUSKLAPPEN] SuperStrict Die Sache ist jetzt, dass ich nicht weiß ob das einerseits normal ist dass der Speicherverbrauch so ansteigt und andererseits wie ich es (anders) lösen kann. Ich wäre dankbar für gedankliche Anstöße ![]() MfG DaysShadow |
||
Blessed is the mind too small for doubt |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich bin mir nicht ganz sicher, aber ich glaube, sehr hoher Speicherverbrauch (ich bin immer noch der Meinung, dass man dieses Verhalten optimieren könnte), ist ein BMax-Feature =/ Ich habe zwar dein Problem selber noch nie untersucht (mein Wassertexturgenerator zeigt was ähnliches, bin dem aber noch nie auf den Grund gegangen), aber ich könnte mir schon vorstellen, dass das halt einfach so sein muss.
Ich will dich ja nicht enttäuschen, aber an deiner Stelle würde ich mir keine Hoffnungen machen, da noch viel reissen zu können... Wenn jemand was anderes beweisen kann, wäre ich natürlich auch sehr froh drum ![]() |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nachdem ich in der Hauptschleife jeweils ein GCCollect() angehängt habe, bleibt der Speicherverbrauch (zumindest bei mir) konstant BlitzMax: [AUSKLAPPEN] If KeyHit( KEY_F1 ) ColorImage( $FF808080 ); GCCollect() |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
DaysShadow |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jawoll, mit GCCollect steigt der Verbrauch nur beim ersten Mal, danach bleibt es konstant.
Demnach würde also der Verbrauch irgendwann mal sinken wenn der GC an der Stelle aufräumt oder würde es gar nicht automatisch passieren? Vielen Dank schonmal! ![]() MfG DaysShadow |
||
Blessed is the mind too small for doubt |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Doch eigentlich sollte es automatisch passieren.
Das ist übrigens standardverhalten für managed environments, dass soviel RAM behalten wird wie im peak benötigt wurde. Sie geben erst dann ram frei, wenn er knapp wird, weil es einfach verschwendete zeit ist den RAM dem OS zurück zu geben nur um ihn kurze zeit später wieder anzufordern, zumal RAM Anforderungen recht zeitintensiv sind speziell wenn man sie ständig wieder macht. gibt auch keinen grund etwas anderes zu machen, warum denn auch, wenn RAM da ist kann man ihn auch nutzen ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group