Monday 18 July 2011

Utilizing Random Access Memory Efficiently for Faster Render Times

Random access memory (RAM) is the hardware component in your computer that programs use to store temporary information that they will need to refer back to throughout their regular use. It comes in different speeds, configurations and storage capacities.

Regardless of which 3D software package you use, making efficient use of random access memory could potentially increase the speed and quality of your renders, particularly if you are using all of your RAM during the use of your software. Although running out of RAM will be most noticeable during the rendering process, establishing an efficient workflow begins at the very start of the project with camera setup.

Lock in a Camera Viewpoint Before Beginning the Modelling Process
Camera setup is the first stage of any visualisation. It is important to remember that there is no need to model, in any great detail, areas that cannot be seen by the camera, which is why the viewpoint must be decided upon before beginning the modeling process. If you imagine an architectural visualisation as an example, the rear of the building being modeled will, in any professional studio, be modeled as quickly and with as little detail as possible in order to reduce load on resources (fewer polygons, vertices - vertex counts effect file size - and potentially texture maps). The impact on direct and indirect lighting needs to be considered.

Polygon Count
The number of polygons in your scene effect the amount of RAM being used during render time as well as throughout the modeling process. Make use of your software package's statistics function. Set it up to show the polygon count of both the entire scene as well as the current selection. This will keep polygon counts in the forefront of all decisions that you make when modeling. Consider how far an object is from the camera and optimize your objects accordingly. This is not to say that all objects should be made up of very few polygons. Objects close to the camera will need to be modeled in finer detail. It is important to keep this in mind in order to make best use of your time and your computer's RAM.

Texture Maps
Texture maps can be RAM hungry little monsters if not optimized appropriately. If your final animation is going to be rendered out at a resolution of 1024x576 pixels then you would reduce the size of all maps according to how large they appear in the animation. If, for example, a particular map covers one quarter of the frame during its largest point in the animation, then that map will not need to be any larger than 512x288 pixels. Although this sounds like half the size of the animation frame, it is actually one quarter because the image has reduced by half its height as well as half its width. Be sure to keep all of your full size maps because you are likely to need them later on down the track.

Modifiers
Modifiers also use up RAM so make sure that you delete any unneeded modifiers and collapse any modifiers that you will not need to adjust. It is good practice to save an iteration of your scene before collapsing modifiers so that you can always go back and make adjustments to parameters if you need to.

Restart Your Computer
Before rendering large scenes always restart your computer to refresh the RAM.

Close All Other Software
Even smaller programs use up certain amounts of RAM so make sure that all unnecessary programs are closed before hitting that render button.

The Visual Frame Buffer Window
The visual frame buffer window (VFB) is where you can see all the magic unfolding. It's the window that shows the rendering process in action. Every 3D artist will reluctantly admit that they've spent countless hours throughout their career watching buckets make pretty pictures in the visual frame buffer window. The VFB uses RAM so if you're running low on RAM and you don't need to see the VFB then disable it in the render settings.

Render Buckets
Render buckets are the brackets that you see bouncing around in the VFB. There is usually one bucket per core or thread involved in the rendering of that particular frame. For example, a quad core processor will show four buckets at render time. The size of the render buckets can be changed in most 3D software packages. If you are in dire need for a little bit of extra RAM consider reducing the size of the buckets slightly. Each bucket stores all of  the information that it can 'see' at any one moment into RAM. Larger buckets can 'see' more than smaller buckets at any given moment so by reducing the size of the buckets you will reduce the amount of information that is stored in RAM. Be aware though that this will increase the render time.

64bit Operating Systems
The next time you upgrade to a new computer consider the 64bit version of your operating system. 32bit operating systems are limited to the use of approximately 2-3Gb of RAM whereas 64bit operating systems are limited only by your budget. A little bit of extra RAM goes a long way. The downside to 64bit operating systems is that although some 32bit software (check with the software manufacturer) will work with a 64bit operating system they will not be able to make use of the extra RAM. This means that in order for you to make the most of the extra RAM the software that you use will also need to be 64bit. Ensure that all software and plugins that you use come in 64bit versions or at the very least have 32bit versions that are compatible with a 64bit operating system. 64bit software is gradually becoming increasingly more available.

Incorporating these practices into your daily workflow will hopefully make the process more fruitful and enjoyable. Happy rendering.


Find out more about architectural rendering.

No comments:

Post a Comment

Note: only a member of this blog may post a comment.