Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Neuen Beitrag zur Code-Library hinzufügen (https://www.delphipraxis.net/33-neuen-beitrag-zur-code-library-hinzufuegen/)
-   -   TImage zu viel Speicher (https://www.delphipraxis.net/212041-timage-zu-viel-speicher.html)

Nine9 7. Dez 2022 07:17

TImage zu viel Speicher
 
Guten Tag Community,

für das Darstellen von Aufträgen erstelle ich Timages und befülle sie dann.
Leider wenn aber das Image zu groß wird und 11 oder 10 stk davon exisitieren, kommt er mit dem CPU Speicher nicht hinterher und
schafft es daher nicht.

Daher meine Frage.
Gibt es ein Object das wesentlich weniger Kapazität benötigt als das Timage?

grüße

Klaus01 7. Dez 2022 07:21

AW: TImage zu viel Speicher
 
.. warum 10 auf einmal?
Die schaut sich doch niemand gelichzeitig an.

Wäre es keine Möglichkeit das Image zu erzeugen wenn es in den Vordergrund zur Betrachtung geholt wird?

Grüße
Klaus

jaenicke 7. Dez 2022 07:46

AW: TImage zu viel Speicher
 
Wenn du so riesige Bilder benötigst, brauchen sie auch entsprechend Speicher. Aber wie sieht der Speicherverbrauch denn aus und wie groß sind die Bilder? Und müssen diese nur vorgehalten werden oder auch verändert werden? Ohne konkrete Informationen lässt sich schwer etwas dazu sagen.

Eine Möglichkeit wäre, diese für weniger Speicherverbrauch als PNG oder JPG vorzuhalten.

Nine9 7. Dez 2022 08:19

AW: TImage zu viel Speicher
 
Die Bilder sollen als Darstellung von Aufträgen fungieren, zudem kann man Ihre Position per Mousemove verändern.

Die größe vom Bild hängt immer vom Hintergrund der Paintbox ab, die Paintbox hat in der Größten Ansicht den wert scrollbox.width * 365.

Die Scrollbox breite ist die Bildschirmbreite.

ich überlege mir mit dem Konstruktor eine Eigene Komponente zu erstellen, ich benötige ja nur die Canvas eigenschaft.

Gausi 7. Dez 2022 09:01

AW: TImage zu viel Speicher
 
Ein Bild mit einer Breite von ~730.000 Pixeln ist halt keine gute Idee.
Lösung: Immer nur das aufs Bitmap/TImage/Paintbox/whatever zeichnen, was auch wirklich angezeigt wird. Wenn das Zeichnen zu komplex und zeitaufwendig ist, dann ggf. in mehreren temporären Dateien cachen.

Ob man nun eine eigene Komponente braucht, oder einfach nur eine Scrollbar an die Paintbox bzw. das TImage koppelt, um in der Jahresansicht (?) scrollen zu können, ist dann eine Detailfrage. :stupid:

Medium 7. Dez 2022 09:16

AW: TImage zu viel Speicher
 
Ein 32 Bit Bitmap der Dimensionen 1080x730000 braucht nunmal knapp 3GB (1080*730000*4Byte / 1024³ ~= 2,937GB), wenn man es sich komplett im Speicher halten will. Ob in einem TImage oder einer anderen Datenstruktur spielt nicht wirklich eine Rolle.

jaenicke 7. Dez 2022 11:11

AW: TImage zu viel Speicher
 
Zitat:

Zitat von Gausi (Beitrag 1515929)
Wenn das Zeichnen zu komplex und zeitaufwendig ist, dann ggf. in mehreren temporären Dateien cachen.

Das Zeichnen selbst dürfte meistens nicht das Problem sein, sondern das Ermitteln der zu zeichnenden Daten. In dem Fall sollten diese Zeichendaten im Speicher gehalten werden statt der fertigen Darstellung, so dass man den gewünschten Ausschnitt gut bei Bedarf zeichnen kann.

Michael II 7. Dez 2022 15:48

AW: TImage zu viel Speicher
 
Ist spannend wie verschieden man Texte lesen kann.

Ich lese
Zitat:

"Die größe vom Bild ...in der Größten Ansicht ... scrollbox.width (breit) * 365 (hoch)."
...dass es 11 bis 10 Bilder gibt und diese vertauschbar sein sollen.

Von diesen Megabreiten lese ich nix. Aber ich versteh das Problem wahrscheinlich nicht.

Medium 7. Dez 2022 15:55

AW: TImage zu viel Speicher
 
Das war dann aber auch wirklich missverständlich und ungewöhnlich notiert geschrieben, wenn deine Interpretation zutrifft.

Gausi 7. Dez 2022 18:21

AW: TImage zu viel Speicher
 
Bei "365" habe ich nicht an die Höhe gedacht, sondern dass die Anzahl der Bildschirmbreiten-großen Bilder ist, die nebeneinander in einem großen TImage landen sollen. Quasi ein Jahreskalender oder sowas in der Richtung. Das wäre eine völlig absurde Größe.

10 Bilder mit je 365*ScreenWidth Pixeln sollten hingegen keinerlei Probleme bzgl. Speicherbedarfs machen - selbst bei 5000 Pixeln Breite bleibt man immer noch unter 100MB. Das wäre dann ggf. nicht besonders "elegant" gelöst, aber kein gravierendes Problem.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:06 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz