Performance Tips for Large Project


#1

Hello,

I’m designing a conceptual community center with multiple buildings. I’m on the first building and already experiencing performance degradation. I have made some of the repetitive objects “blocks” but not sure if that is even making a difference.

What are some strategies I can start employing so that I don’t paint myself into a corner.
I have the feeling by the time I get to building 10, I’ll run out of horsepower.

Currently using Rhino5 64b for windows on a i7 hyperthread quad-core CPU with 16gb of ram and a GTX780 video card running on 256 SSD.

Thanks.
James


#2

Blocks are one strategy, is your file size being reduced with the addition of blocks?

Change your mesh settings during the design phase, as low as you can tolerate.

Worksessions may make life a little easier, you can have a main file with your landscape and each of the buildings in their own separate file. Just attach the buildings via Worksessions to the main file as needed.

HTH,
Don


#3

I would also organize your layers in such a way that your can easily turn off “heavy” items. For instance, if you have fasteners, hinges, or other finicky hardware, make it easy to turn off.

Don’s suggestion of working with a really low quality display mesh is a good one. If there are individual objects that are a problem with such a low quality display mesh, you can always increase the mesh quality for that object alone in the objects properties.

I think Don’s idea of worksessions is also good. One thing to keep in mind though if using blocks, they will reduce your file size, but they are slower than plane geometry to display.

One thing I often do if I have a file with a bazzilion objects, I will use a mesh proxy of the object and join as many similar meshes as possible. So, if I have a theater with a couple of hundred seats, my layers might look like:

  • Seats
  • Mesh
    – Arms
    – Seat
  • NURB
    – Arms
    – Seats

I would select all the mesh versions of say the arms and join them, and then join all the mesh version of the seat parts, then turn off the original geometry which is under the NURB layer. This way, instead of having a couple of hundred seat backs, seat bottoms, and seat arms in the drawing database, you have one mesh which is all the arms and one mesh that is all the seat parts. This can greatly speed up drawing because you have gone for several hundred objects in the drawing list to two objects.

Sam


(Willem Derks) #4

Hi James.

Like the others have pointed out already:

Use worksessions. Each building has it’s own file. The separate files are composed in a worksession file.

Note that you can also manage the individual buildings in separate files.
EG: a building composed of 3 files:
- shell; main structure and outside features
- interior structures
- interior elements.

When working on the overview file; you can load just the shell of each building.

Indeed use blocks for repetitive objects. You can insert a block as an instance from a file. This way what you can do is for example use a Rhinofile as a block. In the file is a simple representation of a tree. Only once you want to visualize/render the scene, you swap the simple tree for a more detailed one. In other words Blocks can also be used as placeholders to be populated with different geometry.

Use meshes for non critical geometry; call it decoration: chairs, desks, trees, furniture etc… If you have Lowpoly meshes they are more lightweight than their shapes in NURBS.

But first and foremost, make sure to use light geometry. This is not as straightforward, but try to use Extrusion objects when possible. Make sure curves are as simple as possible. If you use imported geometry (curves etc.)check if it is low in control-point count and simplify where possible. Avoid using unnecessary Booleans it’s tempting to boolean-union all concrete structures into one object; just like it is when build, but most of the time that only adds to the data for that geometry while visually nothing changes.

HTH
-Willem

BTW: How large is you file now?
How many objects are in it?
What type of degradation in performance are you experiencing?
Did you already setup a lot of materials/lights?
Is Rhino setup via the OpenGL settings to use the GTX


#5

How big is your file size currently for project?


#6

If your display is slow than avoiding NURBS and use meshes instead . should help a lot. For example you could use external block files and set the link of the blocks to mesh-only versions of this blocks.