German Memory Problem mit VGA Auflösung

Discussion in 'German Forum' started by Paulsche, May 3, 2009.

  1. Paulsche

    Paulsche Well-Known Member Licensed User

    Ich habe mein Programm mit fgChangeToVGA von der fgControl.dll von Filippo
    auf VGA-Auflösung umgestellt, was auch Prima funktioniert.
    Wie ich nun bemerkt habe, bekomem ich manchmal beim Starten ein "out og Memory" , nach einem Softreset gehts dann wieder.

    Ich habe nun den Speicherverbrauch jeweils vor und nach dem Start
    verglichen.

    Bei der Version in QVGA (compailiert mit force QVGA) beträgt der Verbrauch 6,7MB.
    In VGA (compailiert mit Device EXE) beträgt der Verbrauch 14,3 MB.

    Ich nutze auch Linechart + Barchart aus der Charts.dll.

    Gibt es eine Möglichkeit den Speicherverbrauch zu optimieren ?
     
  2. klaus

    klaus Expert Licensed User

    Hallo Paulsche,
    - Benützt Du auch BitmapEx und DrawerEx Objekte aus der ImageLibEx Library ? Da gibt es nähmlich ein Problem, wenn eine BitmapEx einzweites mal mit BitmapEx.New1 neu definiert wird deren Scheicherplatz nicht frei gegeben.
    - Hast Du vieleicht 'viele' Bilder die ja 4 mal mehr Schpeicher in VGA verbrauchen als in QVGA.

    Wenn Du wills könntest Du mal Dein Programm posten, und Ich würde auch mal vergleichen. Ich habe einen Qtek 9090 WM2003 und neuerdings auch einen HTC Touch HD.

    Ich habe noch nie mit der Chart Library gearbeitet, weiss also nicht ob deren Objekte viel Speicherplatz benötigen, aber falls es Bilder sind brauchen die ja mehr Platz in VGA.

    In B4PPC Version 6.8 gibt es einen neuen Kompilermodus Device (Auto Scale) Exe. Man schreibt das Programm für QVGA und der Kompiler kümmert sich dann um die ganze Skalierung zwischen QVGA und VGA . Funktioniert mit meinen Programmen prima.

    Beste Grüsse.
     
    Last edited: May 3, 2009
  3. Paulsche

    Paulsche Well-Known Member Licensed User

    Hi Klaus, ich hab auch einen Touch-HD, und "ja" ich benutze DrawerEx Objekte. Das "Autoscale" hatte ich mal versucht, aber das funktionierte mit "Charts.dll" nicht zusammen, die Beta ist mir noch zu neu, es müssen erst noch die Librarys darauf angepasst werden denke ich.

    Anbei mein Programm, vielleicht siehst Du ja auf die schnelle wo ich da Speicherfresser drin hab.
    Ach ja, ich benutze auf 4 Seiten Hintergrundbilder. Ist alles iun der Zip drin.
     
  4. klaus

    klaus Expert Licensed User

    Hallo Paulsche,
    Ich habe ein bisschen rumgespielt:
    Dein Programm auf meinem htc Touch HC verbraucht folgenden Speicherplatz nach dem laden des Programmes:
    - Device kompiliert V6.5 12.6 MB
    - Device (Auto Scale) V6.8 4.68 MB

    Habe ein kleines Textprogramm geschrieben, mit Version 6.8 Device (Auto Scale)kompiliert, mit:
    Touch HD
    - 1 Form ohne Hintergrundbild 0.57 MB
    - 1 Form mit Hintergrundbild 0.63 MB
    - 5 Formen ohne Hintergrundbild 1.19 MB
    - 5 Formen mit Hintergrundbild 1.25 MB

    Qtek 9090 Version 6.8 Device kompiliert.
    - 1 Form ohne Hintergrundbild 3.1 MB
    - 1 Form mit Hintergrundbild 3.1 MB
    - 5 Formen ohne Hintergrundbild 3.61 MB
    - 5 Formen mit Hintergrundbild 3.67 MB

    Es sieht so aus dass es die ganzen Bilder in den Forms und in den Controls sind die den meissten Speicherplatz verbrauchen.

    Der Unterschied zwischen Qtek9090 und Touch HD ist sehr gross. Das bemerkliche ist aber dass mit einer 4 mal grösseren Auflösung der verbrauchte Speicherplatz auf dem Touch HD doch weit kleiner ist, allerdings mit Device (Auto Scale). Ich weiss aber nicht ob die Anzeige vom verbrauchten Speicherplatz in beiden Geräten wirklich das gleiche anzeigt. Denn der Speicherplatz für 1 Form

    Leider habe Ich keine konkrete Lösung zur Speicherverminderung, abgesehen von Device (Auto Scale), aber dafür braucht es wahrscheinlich noch ein bisschen Zeit bis die Endversion mit upgedateten Libraries raus kommt.

    Beste Grüsse.
     
  5. Paulsche

    Paulsche Well-Known Member Licensed User

    Hi Klaus,

    danke für Deine Tests, :sign0098: da werde ich wohl ganz gespannt auf die neue Version
    warten. Vielleicht bau ich noch was in mein Prog ein, wo man einfach die Hintergrundbilder abschalten kann, bei denen wo es zu knapp mit Speicher ist.
     
  6. Filippo

    Filippo Expert Licensed User

    Hallo Paulsche,

    tolles Programm!:sign0188:

    Ich kann das von Klaus bestätigen. Auf meinem MDA-Pro verbraucht es genau so viel Speicher.


    Ciao,
    Filippo
     
  7. Paulsche

    Paulsche Well-Known Member Licensed User

    Danke Filippo,

    ja, wenn ich es mit "Force QVGA" compailiere braucht es die hälfte an Speicher.
    werd wohl vorübergehend eine VGA + QVGA Version anbieten müssen.

    Übrigens, Dein fgDirChooser aus der fgControlsEX hat die ganze Routine
    "FolderChooser" aus dem forum ersetzt, funktioniert Prima, danke. :)
     
  8. Paulsche

    Paulsche Well-Known Member Licensed User

    Hab mein Programm nun überarbeitet:

    Ich hatte ja die ganzen Texte und Daten mit Drawstring gezeichnet, da ich
    Hindergrundbilder benutze, Drawstring habe ich nun gegen Labels mit Transparenz getauscht (geht ja seit V6.8) .
    Dann mit "Autoscale" mit Version 6.8 kompiliert.

    Und siehe da, keine speicherprobleme mehr, kann mehrere Programme aufmachen
    und meine Programm läuft noch immer ohne Probleme.

    Ob es nun am Drawstring oder an der V6.8 mit Autoscale liegt, keine Ahnung.
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice