Paint.NET에 파일 크기 제한이 있습니까?

Paint.NET에 파일 크기 제한이 있습니까?

더 작은 tif는 문제 없이 열 수 있지만 100MB가 넘는 이러한 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)를 사용하고 있습니다.

업데이트:

제 생각에는조엘 코훈님의 대답은 올바른 방향으로 가고 있습니다. 이미지를 흑백으로 변환하여 파일 크기가 5MB 미만이 되었습니다. 그런 다음 열려고 시도했지만 오류가 다시 발생했습니다.

원본을 사용하여 모든 종류의 작업을 시도한 결과 픽셀을 6000x6000에서 5000x5000으로 줄이면 Paint.NET에서 이미지를 열 수 있다는 것을 알게 되었습니다(24비트 색상도 가능).

답변1

OutOfMemory 예외가 발생하는 것 같습니다. .Net OutOfMemory 예외는 약간 오해의 소지가 있습니다. 이 예외가 부족할 때 이 예외를 보는 것이 훨씬 더 일반적입니다.주소 공간, 이는 실제 메모리와 약간 다릅니다. 이는 작업 관리자를 확인하여 얼마나 많은 메모리가 사용되는지 확인하는 등의 작업이 문제를 추적하는 데 도움이 되지 않을 수 있음을 의미합니다.

대신 문제는 Paint.Net의 버그로 인해 발생했을 가능성이 높습니다. 즉, 이미지의 특정 부분이 .Net 런타임에 의해 대형 개체 힙(Large Object Heap)이라는 항목에 배치됩니다. 그런 다음 파일은 동일한 메모리 세트가 여러 번 생성되고 파괴되는 방식으로 로드되며, 아마도 매번 조금씩 더 커질 수 있습니다. 가비지 수집기는 대형 개체 힙에서 주소 공간을 잘 확보하거나 압축하지 않으므로(물리적 메모리가 해제되거나 페이징된 경우에도) 갑자기 OutOfMemory 예외가 발생합니다.

해결책은 Microsoft가 LOH와 관련된 .Net 런타임의 동작을 변경하여 특정 상황(예: 요청 시 또는 OutOfMemory 예외가 발생하기 전)에 LOH를 압축할 수 있도록 하는 것입니다. Paint.Net 프로그램은 파일을 반복해서 재생성하는 대신 문제를 일으키는 기존 데이터 구조가 무엇이든 올바르게 성장하도록 파일을 로드하는 방식을 수정합니다.

답변2

이와 같은 파일이 메모리에 저장되는 방식은 필요한 메모리 양에 영향을 미칩니다. 다른 응용 프로그램은 메모리 효율성이 더 높을 수 있습니다.

설명을 보면 Paint.NET의 메모리가 부족한 것 같습니다. 메모리 사용량이 증가하는지 확인하기 위해 파일을 열려고 하는 동안 작업 관리자를 열어 볼 수 있습니다.

답변3

파일을 읽기 위해 인접한 메모리 블록을 할당하려고 할 수 있습니다. 가능한 한 많은 앱을 닫은 다음 다시 열어보세요.

관련 정보