Jump to content

Not enough memory message when adding a third layer


sobeam

Recommended Posts

I am working on a large picture.

I have added the second layer on my computer with 1GB RAM, now i have added another 1GB to avoid paging.

When i now try to add a new layer paint.net tells me i do not have enough memory to complete the operation.

I am not paging, an my task manager show me a memory consumption of 74%. So there should be space in memory and in my paging file.

Anyone an idea what i could do?

Cheers

Sobeam

Link to comment
Share on other sites

It's not lying: you are out of memory. Just because you have 1GB doesn't mean you have infinite memory and are exempt from out of memory conditions.

Work with smaller images.

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

Maybe i qas not exact enough.

With 1GB of RAM i could add a layer, but my machine was paging.

I have added one more, so i have now 2GB of RAM, and i get this message when i try to add a new layer.

So with 1 GB i could have base + 1 layer.

With 2 GB i could not add an additional layer.

My question is how much RAM would a noew layer consume?

I know that my image is large, but i could not reduce the size.

Link to comment
Share on other sites

10633 x 7421 will use up 78,907,493 bytes per layer. So take the number of layers, add 2 (one each for scratch and composition surfaces), multiply by that 78mb, and that's a rough memory usage number to start at. Paint.NET only works with 32-bit pixels, so the fact that your source image is 24-bit isn't a factor -- the alpha channel is still created, but filled in with all 255 values (all opaque).

Having enough "space" doesn't mean there you have enough contiguous space in the virtual address space of the process. Task Manager presents an extremely simplified view of memory usage in the system.

The real solution for you is to upgrade to a 64-bit version of Windows, where Paint.NET will be able to really stretch out and not give out of memory errors. Or use Photoshop, I guess.

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

  • 6 months later...

Hi. I have a problem with memory as well. I want to open up a windows bitmap of dimensions: 9952*6704 and 63.6MB in file size. Paint.net refuses to open it because there is supposedly not enough memory. This is rubbish because I have 2GB RAM and plenty of hard disk space. Furthermore, why do you think The GIMP will let me open it? So i was wondering, is Paint.net really using all my available RAM and if not, where can I edit its configuration settings so it will? Or is this simply a limitation of a .net application?

Thanks.

PS And no, I dont have photoshop and I dont have the money to buy it.

Link to comment
Share on other sites

According to Rick,

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

(3) is not always in use, but it's important to have it allocated because it makes error handling much simpler. If you clicked on the Clone Stamp and suddenly got an out of memory error, that would be lame. (2) is not always important, as a single layer image effectively needs no compositing.

So, to compute the memory requirements for an image, the following formula can be used:

(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 for your 7680x2880 image, which I assume has 1 layer, the total memory required is:

(7680 x 2880 x 4) x (1 + 2)

= (88473600) x (3)

= 265,420,800

= 253.125 MB RAM

When you resize an image, you must have enough memory to hold the image at both its old and new sizes. Other factors influence how much memory is available. For instance, just because there is still 1 GB of virtual address space available does not mean that there is 1 GB available contiguously.

Programs like Photoshop and The GIMP have complicated memory managers that tile the image, swapping it out to scratch pads (disk) as necessary. This impacts coding complexity because every part of the application that works with the image must take the tiling in to consideration. It also affects performance, but has the advantage of being able to work with much larger images. For Paint.NET, I purposely chose a design that enabled coding simplicity for many reasons.

If you have a 64-bit CPU and OS, you will have a much harder time running out of memory. You may also look into the /3GB switch for the boot.ini file, although I do not know for sure that this will help: http://support.microsoft.com/default.as ... E05B0ABAAA

So...two gigs won't be even close to enough. That's a massive image.

If GIMP will let you open it, I'd recommend cutting it into manageable pieces with GIMP, working with the pieces in PdN, and then stitching it back together with GIMP to save it.

 

The Doctor: There was a goblin, or a trickster, or a warrior... A nameless, terrible thing, soaked in the blood of a billion galaxies. The most feared being in all the cosmos. And nothing could stop it, or hold it, or reason with it. One day it would just drop out of the sky and tear down your world.
Amy: But how did it end up in there?
The Doctor: You know fairy tales. A good wizard tricked it.
River Song: I hate good wizards in fairy tales; they always turn out to be him.

Link to comment
Share on other sites

You can try using hard drive space as Virtual Ram / a swap file and giving it 2 GB or something so you will have 4 GB all together to see if that will work. However there is no substitute for real RAM so this may not work at all and still give you "out of memory" errors and when it is called upon it can decrease system performance.

But it can't hurt to try it as your already getting errors. I just go over 2 GB when doing it but I would not go over 4 GB unless it needed.

Hope this can help you.

Link to comment
Share on other sites

It doesn't matter if you have 2 or 4 or 8 or 10000 GB of memory. On a 32-bit system each process can still only see up to 2 GB.

The solution for now is to upgrade to 64-bit.

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

I think it has something to do with the .NET framework...

 

The Doctor: There was a goblin, or a trickster, or a warrior... A nameless, terrible thing, soaked in the blood of a billion galaxies. The most feared being in all the cosmos. And nothing could stop it, or hold it, or reason with it. One day it would just drop out of the sky and tear down your world.
Amy: But how did it end up in there?
The Doctor: You know fairy tales. A good wizard tricked it.
River Song: I hate good wizards in fairy tales; they always turn out to be him.

Link to comment
Share on other sites

Allow me to be critical here and ask why the image needs to be 32bit? All I need is 8 bits and shouldn't that solve the memory problem paint.net apparently has?

Paint.NET is designed as a 32bit image editor. All images when loaded are converted to 32 bit for editing, then converted (if necessary--like to GIF) when saved.

This is just the way Paint.NET works.

Link to comment
Share on other sites

Ok 1 more question. If I split my image in half and open them in paint.net, why can i open them both and even paste one as a layer over the other yet i cannot open the original single image? In fact, I can open several images, not just 2, in paint.net that are half the original image size. :?

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.

Guest
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...