AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TImage zu viel Speicher

Ein Thema von Nine9 · begonnen am 7. Dez 2022 · letzter Beitrag vom 7. Dez 2022
Antwort Antwort
Nine9

Registriert seit: 1. Dez 2021
45 Beiträge
 
Delphi 10 Seattle Professional
 
#1

TImage zu viel Speicher

  Alt 7. Dez 2022, 08:17
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
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.777 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: TImage zu viel Speicher

  Alt 7. Dez 2022, 08:21
.. 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
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.845 Beiträge
 
Delphi 12 Athens
 
#3

AW: TImage zu viel Speicher

  Alt 7. Dez 2022, 08:46
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.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Nine9

Registriert seit: 1. Dez 2021
45 Beiträge
 
Delphi 10 Seattle Professional
 
#4

AW: TImage zu viel Speicher

  Alt 7. Dez 2022, 09:19
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.
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
900 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: TImage zu viel Speicher

  Alt 7. Dez 2022, 10:01
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.
Being smart will count for nothing if you don't make the world better. You have to use your smarts to count for something, to serve life, not death.
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.687 Beiträge
 
Delphi 2007 Enterprise
 
#6

AW: TImage zu viel Speicher

  Alt 7. Dez 2022, 10:16
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.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.845 Beiträge
 
Delphi 12 Athens
 
#7

AW: TImage zu viel Speicher

  Alt 7. Dez 2022, 12:11
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.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.845 Beiträge
 
Delphi 12 Athens
 
#8

AW: TImage zu viel Speicher

  Alt 7. Dez 2022, 21:31
Darauf habe ich gar nicht so genau geschaut und nur auf den anderen Post geantwortet. Aber wenn dem ao ist, und so lese ich das auch, dann ist vor allem die Frage wie sich das Problem äußert. Was bedeutet das denn?
kommt er mit dem CPU Speicher nicht hinterher und
schafft es daher nicht.
Was ist CPU Speicher (der Speicherverbrauch der Anwendung?) und was bedeutet "schafft es daher nicht"?

Meldungen wie "nicht genügend Speicher" können z.B. auch bei Fehlern mit dem Umgang mit dem Speicher kommen.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz