Jump to content

allocating more memory/virtual memory/scratch disk

Recommended Posts

Hi all

first post...

OK I am working on a huge panorama project involving over 20 full resolution jpegs coming from 10 megapixel raw images. I am unable to start a new file with a large enough canvas --roughly 50,000x4,000 pixels--, so I have (in the meantime) begun some smaller canvases that will still need to be stitched together.

I have come to the trouble that files I have saved are apparently too large for paint.net to open, even though they were saved by paint.net. This doesn't seem right...

I need a way to expand the memory usage of paint.net. I have plenty of free hard drive space (~90 gb)

I am running an amd 5000+ dual core amd 64 bit processor (not fantastic, but good) with 2gb ddr2 ram, win xp pro sp3.

Any advice on working with all these big files would also be welcome!



Link to comment
Share on other sites

If I remember right, Paint.NET uses a simple way of storing the images, simply in memory, be it ram or page file. It lacks the more clever memory managers that could use hdd morer that Photoshop and I think GIMP too have.

Paint.NET's architecture is such that it must:

1) Hold the entire image in memory

2) Have a bitmap used for compositing the image

3) Have a scratch surface

(W x H x 4) x (L + 2)

W is the width of the image in pixels, H is the height in pixels, 4 is because each pixel takes 4 bytes, L is the number of layers, and the +2 accounts for (2) and (3) above.

So, the amount of memory required for that 50k*4k pixel image is...

(50000 * 4000 * 4) * (3) = 2 400 000 000 bytes

2 400 000 000 / 1024 / 1024 / 1024 = 2.23GiB

So, you hit the Windows 2GB limit for 32-bit processes. If you could somehow go 64-bit OS, Paint.NET being a native 64-bit process, you'd have a 8TB? limit :P

Edit: "Quick" try with creating a 50k*4k pixel image, creation was ok, so was scribbling something with a brush on it. But creating an another layer and it died for like 30 or so seconds but after that is was once again ok, and I pasted some images I found lying around on the second layer and this is 50k*4k with 2 layers.

At creation, I got 1.8 gigs, little drawing got it above 2 gigs and the second layer got it at 3 gigs :)

And this is with Vista Business x64 and 4 gigs of ram.


Link to comment
Share on other sites

When I make a picture like that, I can not even zoom in to 100%

Why is that?

Also, the if I try to use a resolution of 1<<16 or more (in any direction*) the OK button grays out

*: I can not even make a 65536x2 image?

I would write plugins, if I knew what kind of plugins were needed.. :(

Link to comment
Share on other sites

That is something I don't get with Paint.NET. YEs if we run out of RAM then we run out but why does Paint.NET not use swap files as memory for when we run out of RAM. If I got 2 GB (I got 4 and my OS can't see anything higher so that why I am using 2 for my example) and I set another 2 GB as swap file space. Then when I run out of the 2GB of RAM it should kick into the 2 GB swap file on the hard drive. But why does Paint.NET not allow this ? or does it ?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...