Paint.NETにはファイルサイズ制限がありますか

Paint.NETにはファイルサイズ制限がありますか

小さい tif は問題なく開けますが、100 MB を超える tif は Paint.NET では開けません。他のソフトウェア (IrfanView、XNViewPortable) では問題なく開けるので、メモリの問題ではないと思います。これはソフトウェアの制限でしょうか?

「ファイルを開くときに不明なエラーが発生しました。」

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

私は XP SP3 で Paint.NET v3.5.5 (最終リリース ビルド 3.55.3767.28608) を使用しています。

アップデート:

私は思うジョエル・コーホーンの回答は正しいです。画像を白黒に変換した結果、ファイル サイズは 5 MB 未満になりました。その後、開こうとすると、再びエラーが発生しました。

オリジナルを使用して、さまざまなことを試した結果、ピクセルを 6000 x 6000 から 5000 x 5000 に減らすと、Paint.NET で画像を開くことができることがわかりました (24 ビット カラーでも)。

答え1

OutOfMemory例外が発生しているようです。.Net OutOfMemory例外は少し誤解を招きます。この例外は、メモリ不足になったときに発生するのが一般的です。アドレス空間これは物理メモリとは少し異なります。つまり、タスク マネージャーでメモリ使用量を確認するといった方法では、問題を追跡できない可能性があります。

代わりに、この問題は Paint.Net のバグの結果である可能性が高く、画像の特定の部分が .Net ランタイムによってラージ オブジェクト ヒープと呼ばれるものに配置されます。その後、ファイルは、この同じメモリ セットが複数回作成および破棄されるようにロードされ、そのたびにメモリが少しずつ大きくなる可能性があります。ガベージ コレクターは、ラージ オブジェクト ヒープからアドレス空間を解放または圧縮しないため (物理メモリが解放またはページングされているにもかかわらず)、突然 OutOfMemory 例外が発生します。

解決策としては、Microsoft が LOH に関する .Net ランタイムの動作を変更して、特定の状況 (おそらく要求時、または OutOfMemory 例外をスローする前) で LOH を圧縮できるようにするか、Paint.Net プログラムがファイルの読み込み方法を修正して、問題の原因となっている既存のデータ構造を何度も再作成するのではなく、正しく拡張するようにするかのいずれかです。

答え2

このようなファイルがメモリに保存される方法は、必要なメモリの量に影響します。他のアプリケーションの方がメモリ効率が良い場合があります。

あなたの説明からすると、Paint.NET のメモリが不足しているようです。ファイルを開くときにタスク マネージャーを開いて、メモリ使用量が増加するかどうかを確認してください。

答え3

ファイルを読み取るために連続したメモリ ブロックを割り当てようとしている可能性があります。できるだけ多くのアプリを閉じてから、再度開いてみてください。

関連情報