Gibt es in Paint.NET eine Dateigrößenbeschränkung?

Gibt es in Paint.NET eine Dateigrößenbeschränkung?

Kleinere TIFs kann ich problemlos öffnen, aber diese TIFs mit über 100 MB können nicht in Paint.NET geöffnet werden. Ich glaube nicht, dass es ein Speicherproblem ist, da andere Software sie problemlos öffnen kann (IrfanView, XNViewPortable). Ist das eine Softwarebeschränkung?

„Beim Öffnen der Datei ist ein nicht näher bezeichneter Fehler aufgetreten.“

http://dl.dropbox.com/u/1156285/PaintDotCrash_OpenBifTif.avi

Ich verwende Paint.NET v3.5.5 (Final Release Build 3.55.3767.28608) unter XP SP3.

Aktualisieren:

Ich findeJoel CoehoornDie Antwort von ist auf dem richtigen Weg. Ich habe das Bild in Schwarzweiß umgewandelt, was zu einer Dateigröße von knapp 5 MB führte. Dann versuchte ich es zu öffnen und erhielt erneut den Fehler.

Mit dem Original habe ich alles Mögliche ausprobiert und schließlich herausgefunden, dass ich das Bild in Paint.NET öffnen konnte (sogar mit 24-Bit-Farbe), wenn ich die Pixel von 6000 x 6000 auf 5000 x 5000 reduzierte.

Antwort1

Es klingt, als ob Sie eine OutOfMemory-Ausnahme erhalten. Die .Net OutOfMemory-Ausnahme ist etwas irreführend. Es ist viel häufiger, diese Ausnahme zu sehen, wenn Sie keinenAdressraum, was etwas anders ist als der physische Speicher. Das bedeutet, dass Dinge wie die Überprüfung des Task-Managers, um zu sehen, wie viel Speicher verwendet wird, Ihnen möglicherweise nicht dabei helfen, das Problem zu finden.

Stattdessen ist das Problem wahrscheinlich das Ergebnis eines Fehlers in Paint.Net, der dazu führt, dass bestimmte Teile des Bildes von der .Net-Laufzeitumgebung auf einem sogenannten Large Object Heap abgelegt werden. Die Datei wird dann so geladen, dass derselbe Speicher mehrmals erstellt und gelöscht wird, möglicherweise so, dass er jedes Mal ein wenig größer wird. Der Garbage Collector gibt den Adressraum des Large Object Heap nicht richtig frei oder komprimiert ihn nicht richtig (obwohl der physische Speicher freigegeben oder ausgelagert wurde), und so erhalten Sie plötzlich eine OutOfMemory-Ausnahme.

Die Lösung besteht entweder darin, dass Microsoft das Verhalten der .Net-Laufzeitumgebung in Bezug auf den LOH ändert, sodass diese in bestimmten Situationen (beispielsweise auf Anforderung oder vor dem Auslösen der OutOfMemory-Ausnahme) den LOH komprimieren kann, oder dass das Paint.Net-Programm die Art und Weise korrigiert, in der es die Datei lädt, sodass es die vorhandene Datenstruktur, die das Problem verursacht, korrekt vergrößert, anstatt sie immer wieder neu zu erstellen.

Antwort2

Die Art und Weise, wie eine solche Datei im Speicher abgelegt wird, beeinflusst, wie viel Speicher sie benötigt. Die anderen Anwendungen sind möglicherweise speichereffizienter.

Ihrer Beschreibung zufolge klingt es wirklich so, als ob Paint.NET nicht genügend Arbeitsspeicher hat. Sie könnten versuchen, den Task-Manager geöffnet zu lassen, während Sie versuchen, die Datei zu öffnen, um zu sehen, ob der Arbeitsspeicherverbrauch steigt.

Antwort3

Möglicherweise versucht es, einen zusammenhängenden Speicherblock zum Lesen der Datei zuzuordnen. Versuchen Sie, so viele Apps wie möglich zu schließen, und versuchen Sie dann erneut, die Datei zu öffnen.

verwandte Informationen