Use render proxies with mental ray rendering to manage large scenes with complex geometry. Export your complex object as a mental ray assembly file, then replace it in your scene with a placeholder object that references this file. When you render, the exported object is loaded into memory and rendered with the rest of your scene. Translation time and memory usage are cut down, allowing mental ray for Maya to render large scenes.
And that prompted me to write about the mip_binaryproxy node. Those of us who are sticking with maya 2008 for the time being can use mip_binaryproxy to implement render proxies almost as easily as our friends with maya 2009.
mip_binaryproxy is one of several "production" shaders that are installed with maya 2008 but hidden by default. I'll assume you have already exposed them (look here if you haven't).
The mip_binaryproxy workflow is very simple, but some things need to be done in the correct order for them to work properly. So... here we go...
1. Start by creating your geometry. It has to be a single mesh polygonal object with no heirarchy and a single shader assigned. Obviously this is a big limitation. If you want to assign different materials to different parts of the object, then you will need to lay out uvs and prepare fileTextures accordingly.
2. Create a low resolution version version of your mesh to act as a stand-in. This could be as simple as a single polygon. The idea is that you will populate your scene with the low resolution stand-ins and at render time mentalray will replace them with copies of your high resolution mesh.
Here is an example

3. Create a mip_binaryproxy node, either by using the "Create mental ray Nodes" menu in the hypershade window or by typing this command
createNode "mip_binaryproxy";
4. Connect the mip_binaryproxy node to the low resolution objects transform node's geometry shader slot (you can drag and drop).

5. Open the mip_binaryproxy node in the attribute editor and enter the Object Filename. This is where a copy of your high resolution object will be stored in a special mentalray assembly format. It should have the file extension .mi
Check the "Write Geometry" flag, and for "Geometry" enter the name of your high resolution object's transform node.
This is an example of how mine looked

You must include the full path name in the "Object Filename".
6. Make sure your high resolution object is above your low resolution object in the outliner. And make sure it is visible.
7. Do a render. The rendered image is not important and you can make it low quality and tiny to do it quickly. The important thing is that the render writes out the assembly file that you specified in step 5.
8. Now uncheck "Write Geometry" in the mip_binaryproxy attributes.
9. And break the mip_binaryproxy "Geometry" connection, as shown here

This step is not mandatory but it will ensure you dont get any warnings about invalid instances.
So your mip_binaryproxy attributes should now look something like this

10. Hide (or delete) your high resolution object. It is no longer needed in the maya scene file, since it is now stored as an assembly file.
11. Populate your scene with copies of your low resolution object. It is important that each copy has a geometry shader connection to the mip_binaryproxy. The easiest way to do this is to use the "Duplicate Special" options as shown here

This will mean you have every object connected to the same copy of the mip_binaryproxy node.
When you populate the scene you can group the low resolution objects however you wish.
Here's a simple example

12. You can see from the last picture that I have assigned different shaders to copies of the low resolution object. These shader assignments are passed to the high resolution object at render time.
13. Render.
Here's my quick render test

Summary
It looks a bit convoluted when you first read about it, but is actually very easy and quick to set up once you get the hang of it. Populating a scene with low resolution stand-ins can make a dramatic difference in scene size and the scene becomes much easier to work with in maya. When rendering the scene load and translation time is greatly reduced. Some consideration must be given to working within the limits of this method, but for working with large numbers of objects the benefits will often make the extra preparation time worthwhile.
Credits
Much of what I have written here, I learned from reading cgtalk and lamrug. Here are two links for further reading...


















