AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Große Bilder laden mit Win95 und 32MB RAM?
Thema durchsuchen
Ansicht
Themen-Optionen

Große Bilder laden mit Win95 und 32MB RAM?

Ein Thema von Dani · begonnen am 25. Okt 2004 · letzter Beitrag vom 27. Okt 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#1

Große Bilder laden mit Win95 und 32MB RAM?

  Alt 25. Okt 2004, 23:32
Hi,

Mein Programm lädt ein ziemlich großes Bild (2480 x 3478 Pixel) aus einer JPEG-Resource in ein TBitmap. Unter Windows95 mit 32 MB RAM klappt das allerdings nicht, es erscheint die Fehlermeldung "out of system resources". Anschließend schmiert das Programm mit dem Hinweis ab, es könne nicht in die Adresse FFFFFF schreiben.
Wenn ich mit Paint ein Bild derselben Größe erzeuge, arbeitet der Rechner zwar lang und heftig, aber irgendwann erscheint das Bild dann.

Woran liegt das? Sollte das Programm nicht wenigstens versuchen, die Daten auf die Festplatte auszulagern (-> virtueller Arbeitsspeicher), bevor es "out of system resources" meldet?
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#2

Re: Große Bilder laden mit Win95 und 32MB RAM?

  Alt 25. Okt 2004, 23:39
hi

Ich frag mich gerade ob es im Win 95 schon virtuell Arbeitsspeicher gibt?
Weil so viel wie ich weiss gibst denn nicht.

Aber bei deinem wirklichen Problem kann ich dir nicht helfen. Aber vielleicht kannst du die hälfte selber auch auf der Festplatte zischenlagern.

Oder du komprimierst zuerst die Datei und dann liest du sie ein.

gsh
Alex
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Große Bilder laden mit Win95 und 32MB RAM?

  Alt 25. Okt 2004, 23:48
Logisch gibt es den. Es gibt den virtuellen Adressraum und es gibt das pagefile (Auslagerungsdatei). Sonst hättets du echt mit 64 MB Probleme gehabt irgendwas auf so einem System zum Laufen zu bringen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#4

Re: Große Bilder laden mit Win95 und 32MB RAM?

  Alt 25. Okt 2004, 23:51
Mit Win 95 hab ich noch nie so viel gearbeitet
Alex
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Große Bilder laden mit Win95 und 32MB RAM?

  Alt 25. Okt 2004, 23:54
Zitat:
Ich frag mich gerade ob es im Win 95 schon virtuell Arbeitsspeicher gibt?
Weil so viel wie ich weiss gibst denn nicht.
Gibt es in Win95

Zitat:
Aber vielleicht kannst du die hälfte selber auch auf der Festplatte zischenlagern.
Hä?

Zitat:
Oder du komprimierst zuerst die Datei und dann liest du sie ein.
Viel komprimierter als JPEG geht wohl nicht. Ausserdem muss das Bild zur Anzeige bzw. zum drucken zu irgendeinem Zeitpunkt komplett Pixel für Pixel im Speicher rumliegen. Das läuft z.B. so ab:

TBitmap "BMP" wird erzeugt
-> "BMP" wird aus Ressource "SEITE1" geladen:
-> TGraphic "tmpGraphic" wird erzeugt
-> "tmpGraphic" wird aus Resourcen-Stream geladen (TResourceStream.Create(HINSTANCE, 'SEITE1', 'JPEGIMAGE');
-> "tmpGraphic" wird auf "BMP" gezeichnet
-> "tmpGraphic" wird freigegeben
-> Auf "BMP" werden versch. Dinge gezeichnet
-> "BMP" wird auf die Drucker-Canvas gezeichnet
"BMP" wird freigegeben.
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#6

Re: Große Bilder laden mit Win95 und 32MB RAM?

  Alt 25. Okt 2004, 23:59
Also willst du so a zeicheprogramm machen oder ?
Zitat:
Aber vielleicht kannst du die hälfte selber auch auf der Festplatte zischenlagern.

Hä?
Ich hab nur gemeint wenn es keinen Virtuellen Arbeitsspeicher gäbe dann kannst du ja des vie der Virtuelle Arbeitsspeicher auf die Festplatte speichern.
Alex
  Mit Zitat antworten Zitat
Sergej

Registriert seit: 12. Jun 2003
Ort: Stuttgart
169 Beiträge
 
#7

Re: Große Bilder laden mit Win95 und 32MB RAM?

  Alt 26. Okt 2004, 16:42
Also ich hab ein ähnliches Problem, deswegen würde es micht brennend interessieren ob's wohl noch konstruktive Problemlösungen geben wird . BITTE


MFG Sergej
Ceterum censeo cartaginem esse delendam
  Mit Zitat antworten Zitat
Benutzerbild von Nonsense
Nonsense

Registriert seit: 23. Nov 2002
389 Beiträge
 
Delphi 5 Standard
 
#8

Re: Große Bilder laden mit Win95 und 32MB RAM?

  Alt 26. Okt 2004, 17:06
Zitat von Dani:
Viel komprimierter als JPEG geht wohl nicht.
Ein Jpeg hat im Speicher die gleiche Größe wie ein Bitmap.
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#9

Re: Große Bilder laden mit Win95 und 32MB RAM?

  Alt 26. Okt 2004, 17:25
Also ich ahb mal meinen VAter gefragt und der sagt der Schlüssel dazu heisst auslagerungsdatei. Warum es bei dir nicht geht kann sein weil auf der Festplatte nicht genügend platz ist oder weil in Windows zuwenig Arbeitsspeicher eingestellt ist. Sonst hab ich und mein Vater keine Einfälle mehr.
Sorry

gsh
Alex
  Mit Zitat antworten Zitat
Benutzerbild von fiasko
fiasko

Registriert seit: 10. Dez 2002
Ort: Dresden
506 Beiträge
 
#10

Re: Große Bilder laden mit Win95 und 32MB RAM?

  Alt 26. Okt 2004, 17:41
Zitat von Dani:
Woran liegt das? Sollte das Programm nicht wenigstens versuchen, die Daten auf die Festplatte auszulagern (-> virtueller Arbeitsspeicher), bevor es "out of system resources" meldet?

Also das liegt wohl daran das der RAM mit 32*2^20=33554432 Byte viel kleiner als das Bild mit 2480*3478*16=138007040 Byte zur verfügung stellt. Und ich vermute einfach mal ganz stark das das Working-Set welches der dolle Paint Prozeß brauch für diese Konvertierung zu groß ist (gemeint ist der mind. auf einmal verfügbare speicher um ein Teil des Bildes dieser größe zu verarbeiten). Darauf weißt dich IMHO diese Meldung hin.

Falls es also mit dem Algorithmus erstmal grundsätzlich gehen würde (dazu müßte man zeigen was der minimale Working-Set Größe des JPEG->BMP Konvertierung Algo's in Abhängigkeit der Bildgröße ist) mußt du ein Programm nehmen was dies Ressourcenminimal umsetzt - UND DAS IST DEFINITIV KEIN WIN95 MIT PAINT
Thomas Liske
Posts comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 07:08 Uhr.
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