PDA

View Full Version : limitation on memory



james767
02-26-2004, 10:27 AM
Is there a limitation on memory that LW 7.5 under 10.3 can use? I have a G5 and I am upgrading to 3GB of memory. LW was giving me a not enough memory error. I am rendering +5k of resolution for fine art renderings. I have heard that 32bit programs had limitations. :confused:

ingo
02-26-2004, 11:32 AM
From my experience LW takes not more than 1,8 GB of RAM before going over to virtual memory. So i guess at the moment 2 GB is the limit. I still have no clue though why LW uses virtual memory while physical RAM is much faster.

Beamtracer
02-26-2004, 01:42 PM
The theoretical RAM limit for 32-bit applications is 4GB. However, the practical limit for most 32-bit apps is 2GB. Lightwave, like most other 32-bit apps is limited to 2GB of RAM.

If, in the future, a 64-bit Lightwave is released, and OS X goes pure 64-bit rather than the present part 32/64-bit, only then can the 4GB RAM ceiling be exceeded.

James767, on a regular 32-bit computer with 2GB of RAM running Lightwave, the programs and the operating system must share that 2GB of RAM.

On a G5 with 3GB of RAM (such as yours) running 32-bit Lightwave, you still have an advantage. Lightwave gets to use the entire 2GB of RAM to itself, and the remaining 1GB of extra RAM can be used by the OS and any other running applications. So the G5 is allowing you to use more RAM, even when running 32-bit software.

Virtual memory is a function of the OS. The way OS X uses VM has minimal impact on performance, which is why you can't switch it off.

james767
02-26-2004, 02:40 PM
Thanks

I wonder if plug-ins use the same memory as LW such as Sasquatch or does it allocate memory for its self.
James

james767
02-27-2004, 09:08 AM
I put 3GB of memory and LW is still giving me a not enough memory for frame buffer error so 9000 x 5000 pixel image is the limtation. hopefuly LW 8 will fix this. I will try rendering the image in segments

James:rolleyes:

etobiason
02-27-2004, 09:41 AM
Yeah, I render a lot of stuff for print and run into this problem often. Segment rendering is about the only way to get over it, I think, if you don't want to sacrifice dpi (sometimes I'll go down from 300 dpi to 250 or even 200...with larger print sizes, often the viewer doesn't have their nose right up to the image anyway so that can work...).

With segment rendering I find that the width is more important than the height. Is this true, anyone, or just my perception? What I mean is, LW is more partial to rendering segments that resemble horizontal strips, so if an image is, say, 4000 pixels wide and 7000 pixels tall, I'll have an easier time than if it were 7000 pixels wide and 4000 pixels tall.... I only mention it because you gave the dimensions 9000 x 5000, and I'm assuming you're using the standard print world "width x height."

If my fear is actually true...you might have to rotate everything in your scene, and change the camera to 5000 x 9000 and render in horizontal strips....

-e

mlinde
02-27-2004, 09:45 AM
Originally posted by james767
I put 3GB of memory and LW is still giving me a not enough memory for frame buffer error so 9000 x 5000 pixel image is the limtation. hopefuly LW 8 will fix this. 9000 x 5000 pixels = 128.7 MB in RAW RGB. Depending on the complexity of the scene you will run into the impossibility of rendering in 1 segment. Open up the statistics panel in Layout (w) and look at the "Render Memory" listing. On a fairly straightforward scene, with camera settings similar to yours (9000x5000, Enhanced Low AA) I experimented with the Segment Memory and determined that with a 32MB segment limit, I needed only 937.6 MB to render the 9000x5000 scene. Of course that's rendering in 57 segments. As you change the Segment Memory, the Render memory will increase as well. By reducing the segments to 4 (by increasing my segment memory to 512) I need an addition 1.4 GB of RAM to render in 4 passes. With a 2 GB ceiling I can't do it.

Summary
The combination of Segment Memory and resolution (in the Camera Settings) will provide you with the Render Memory amount. The two together (Segment Memory + Render Memory) cannot exceed your available RAM, or 2 GB (whichever comes first).

ingo
02-27-2004, 10:29 AM
Originally posted by mlinde

Summary
The combination of Segment Memory and resolution (in the Camera Settings) will provide you with the Render Memory amount. The two together (Segment Memory + Render Memory) cannot exceed your available RAM, or 2 GB (whichever comes first).

Thanks, thats a good help since i had some major problems rendering print sized images too. Just curious, does anyone know how Limited Region handles memory, it would be nice to calculate it before starting a rendering to avoid LW crashes.

mlinde
02-27-2004, 10:39 AM
Limited Region would work in conjunction with these settings, to reduce the necessary RAM for rendering. A smaller region in the original size (say 1/4 of the 9000 x 5000 image above) would result in about 1/4 the RAM necessary to render. It won't be exact, but close.

etobiason
02-27-2004, 10:51 AM
Crap! Everything I said about "segment rendering" was in reference to "limited region"! I just meant segmenting the render with limited region, wasn't even thinking about the segmenting that LW does.

Yeah, even with segmenting, some things won't render unless you use limited region. All that stuff I said about horizontal vs vertical images was in reference to limited region.

jrd
02-27-2004, 10:57 AM
etobiason,
i render a lot to print to and agree that vertical orientation seems to work much better than horizontal. i don't know why, but over a year ago i came to this conclusion and if i'm rendering something over 6000 pixels wide i will rotate the camera 90 deg (if the height before rotating is less). i guess it's still the case since you have mentioned it, although i haven't tested it. anyone know why?
jrd

ingo
02-27-2004, 11:06 AM
Originally posted by mlinde
Limited Region would work in conjunction with these settings, to reduce the necessary RAM for rendering. A smaller region in the original size (say 1/4 of the 9000 x 5000 image above) would result in about 1/4 the RAM necessary to render. It won't be exact, but close.

So wouldn't it speed up rendering making Limited Region the size so that LW is using only physical memory ?

If the weird orientation trick works i will try it next time. I had to render a 11339 x 6378 picture and had a hard time to get it done, first i tried five vertical Regions, when the last two crashed while saving the file i had to make it seven vertical Regions.

etobiason
02-27-2004, 12:33 PM
I think LW's render engine works horizontally somehow, so vertical limited region strips don't help. The strips have to be horizontal, in my experience. So, if the image is wider than it is tall, rotating the camera so that it is taller and then using horizontal limited region strips should help...

Thanks jrd for the confirm on that I never really knew if I was being quirky or if LW really worked that way...

Beamtracer
02-27-2004, 03:10 PM
All the above comments are proof that 64-bit software is badly needed now.

Only 64-bit software can exceed the 4GB RAM ceiling.

mlinde
02-27-2004, 03:52 PM
Reality check #1: If I haven't had the $4100 to put 4GB in a new G5 that I have to buy, my machine has a physical limit between 1GB - 2GB of RAM (depending on the age of the machine).
Reality check #2: Mac OS X does not support more than 2 GB per application in it's current state. So, the OS has to have that support first, which it doesn't.
Reality check #3: Once the OS has that support, the developers have to rewrite core code that accesses the OS memory management routines so it can actually access the additional RAM. NOTE: this isn't something you do with a beta OS release. You do it with a GM, or final release.
Reality check #4: Even the scenario above would likely be solved simply by getting LW to it's own theoretical limit. It's been said that 32-bit applications could access up to 4 GB of RAM. That would be enough to render those scenes.

(note: I edited out the mean stuff. Those of you who read it and were offended, I apologize. Tough week here - Mike)

toby
02-27-2004, 04:09 PM
Did Beam attack you in some way mlinde?

mlinde
02-27-2004, 04:17 PM
Originally posted by toby
Did Beam attack you in some way mlinde? Nope. Just sometimes he sounds too high and mighty in his 64-bit speeches. When his comments are constructive I think he does great things here. This is like beating a dead horse that isn't even born yet though, and I think I'm just tired of hearing it.

IgnusFast
02-27-2004, 04:22 PM
Just so ya know, there is a beta of the 64-bit version of Windows. There are also builds of Solaris and a few other OS' that can handle full 64-bit addressing.

Just trying to throw some wood on the fire... :)

mlinde
02-27-2004, 04:33 PM
Originally posted by IgnusFast
Just so ya know, there is a beta of the 64-bit version of Windows. There are also builds of Solaris and a few other OS' that can handle full 64-bit addressing.

Just trying to throw some wood on the fire... :) Yeah, you want to throw some dry, dead trees there doncha? :p
The 64-bit version of Windows has come and gone, and is coming again. Way back in the mid-90's DEC (Digital Equipment Corporation) had a 64 bit processor that was a workstation class processor, and a version of Windows NT for it. DEC was bought out by Compaq, and they killed the Alpha. The engineers are now (apparently) at AMD.

Microsoft is probably trying to get the 64-bit core from that old NT to run in XP. It's not just Longhorn, it's long-in-the-tooth ( ;) ). There are also 64-bit versions of the BSD core under Darwin, but there's a lot to the MacOS on top of that that would need help as well. The issue with a good 64-bit OS is the same issue with a good 32-bit OS (for those of you who suffered under Windows 3.1 and remember). You have to maintain backwards compatibility for a while (anyone remember Windows 95-98?), which limits your true potential until you can drop the backwards compatible code and just move forward (there were good things about Windows 2000). Oh, just so this doesn't sound Windows only, Apple did it too, with 32-bit enablers in System 7 for specfic processors, until System 8, which dropped support for the older 16-bit processors completely.

james767
02-27-2004, 04:41 PM
Originally posted by mlinde
Reality check #1: If I haven't had the $4100 to put 4GB in a new G5 that I have to buy, my machine has a physical limit between 1GB - 2GB of RAM (depending on the age of the machine).
Reality check #2: Mac OS X does not support more than 2 GB per application in it's current state. So, the OS has to have that support first, which it doesn't.
Reality check #3: Once the OS has that support, the developers have to rewrite core code that accesses the OS memory management routines so it can actually access the additional RAM. NOTE: this isn't something you do with a beta OS release. You do it with a GM, or final release.
Reality check #4: Even the scenario above would likely be solved simply by getting LW to it's own theoretical limit. It's been said that 32-bit applications could access up to 4 GB of RAM. That would be enough to render those scenes.

(note: I edited out the mean stuff. Those of you who read it and were offended, I apologize. Tough week here - Mike)


1. Well I put 2GB(1GBx2) in my Mac and it cost me $470

2. Its not too difficult to have LW address 4GB + even if its mostly 32bit program