Moin!
Meine Fragen: Wieso braucht eine Grafik(JPEG) mit einer Größe von ca. 800kb Speicherkapazität von ca. 12,6 MB? Gibt es dafür eine Musterrechnung?
Wieso braucht ein JPEG des Hubble-Teleskops von der Sombrero-Galaxie, welches selbst nur 7,2 MB groß ist, zum Anzeigen über 200 MB RAM?
Logisch, weil JPEG ein komprimiertes Format ist (mit den richtigen Bildinhalten oder Kompressionsfaktoren ist einiges möglich), die gdlib aber immer mit unkomprimierten Bilddaten arbeitet.
Ergo: Anzahl der Pixel in X * Anzahl der Pixel in Y * 3 (Byte pro Pixel) = Speicherbedarf in Byte für das Bild
Soll heißen: bei 12 MB RAM kannst du je 4 MB pro RGB-Farbe benutzen, und eine Bildauflösung von 2048*2048 haben (weil 2048*2048*3=12 MB).
Wenn du _zwei_ Bilder im Speicher haben mußt, weil du aus einer Quelle in ein Ziel kopierst, verändert sich der verfügbare Speicher natürlich zuungunsten der Quelle.
- Sven Rautenberg