CPU, GPU, Oh My!
SketchUp is not optimized for dual processors. And it is not impressed with quad processors neither. As with other CAD-like programs, SketchUp uses a single processor. The computer processing workflow goes from the central processing unit, CPU, to the graphics processing unit, GPU. In other words there is a synergistic balancing act between those two processors and the motherboard RAM.
Central Processing Unit - CPU
The CPU is the main brains on the computer's motherboard. The CPU first prepares the SketchUp data for the GPU to render. To reduce the amount for work done by the CPU, adopt a CPU-restrictive model style:
- No Sketchy Edges, Profiles, Depth cue, Extension, Endpoints and Jitter.
- Setting edge color to "all the same".
- Transparency quality set to "Faster." Window > Styles > Edit > Face
- No textures on Faces. Set the Face style to Monochrome
- Shadows off
- Xray mode off
Note: RAM is the fast, temporary memory from where the CPU gets its data. The amount of RAM does not relate to speed. It can only slowdown speed if it is full, and the CPU has to get data from your slower hard-disk. SketchUp modeling does not require nor benefit from having more RAM than the recommended hardware.
Graphics Processing Unit - GPU
The GPU processes 3D computer rendered graphics. After reducing the CPU processing load as described above, there are some things which will reduce the GPU rendering load:
- Use Anti-aliased textures (SketchUp 7/8): Window > Model Info > Rendering
- Uncheck Maximum texture size (SketchUp 7/8): Window > Preferences > OpenGL
- Use hardware acceleration is checked: Window (SketchUp on Mac) > Preferences > OpenGL
- Simple Template
- Google Earth Modeling
Those two templates are pre-set with style preferences that optimize the usage of the GPU and CPU as indicated in the previous two sections above.
Note: If the template options are not pleasing, and stifle your modeling creativity, then set up different Scenes with different Style options - with some Scenes to optimize your computer resources and other Scenes suited for your final presentation.
Besides relying on template pre-sets, another good place to save your rendering pre-sets is in the Styles browser. Clicking a button is a quick way change the Scene appearance. How to set up a custom Styles Collection is similar to setting up a custom collection of Materials.
64-bit and RAM stuff
Beginning with SketchUp 2015, SketchUp introduced a 64-bit version. Might as well, most new computers are 64-bit.
While SketchUp has always ran on a 64-bit Windows XP/Vista/Windows 7/8 and OS X machines, there will not be a performance increase. The main hardware difference between 32- and 64-bit motherboards is the bus size (the communication pathway) between the CPU and RAM. The bus on a 64-bit motherboard is twice as large as the bus on a 32-bit motherboard. A larger pathway allows a motherboard to sustain a larger amount of physical RAM (up to 8 GB.) Which means applications that require a lot of RAM computational processing will notable benefit from running on a 64-bit system. Photo-realistic, ray tracing renderers will work better on a 64-bit system. Renderers do use a lot of RAM. But SketchUp, which does not require anything close to the 2 GB RAM limitations on a 32-bit system will not computationally benefit from the 64-bit motherboard architecture.
Although increasing the communication pathway between the CPU and the GPU will not not help SketchUp performance, any limits constricting that pathway will adversely affect SketchUp. Motherboards with integrated graphics chips (IGPs) built into the board and DO NOT have an expansion slot for a stand-alone graphics card will not perform well. CPU communication with integrated graphics chips is done over the same pathway as CPU communication with the RAM. It creates a processing bottleneck. Also graphics drivers for integrated graphics chips are all too often missing many important OpenGL function calls required by SketchUp. However, that too seems to be changing as Intel created a SketchUp-friendly driver for the Microsoft Surface Pro's IGP.
For more interesting reading on why many programs (like SketchUp) will not benefit in a 64-bit environment, read A 64-bit reality check and Photoshop & 64-bit registers blog entries by Adobe's John Nack. Grumpy SketchUp-users will have to wait for another radical hardware design if they are expecting hardware to solve sluggish modeling performance. (Unfortunately, manufacturers are now working on 128-bit motherboards - which will allow even more RAM memory than 64-bit computers. However such hardware developments will not increase your SketchUp's "polygon budget.")
If a computer is equipped with a 100% OpenGL compliant graphics card, SketchUp will rely on that graphics processor unit, the GPU, for a portion of the rendering instead of being bound to the CPU. So a 100% OpenGL compliant graphics card is very important for the best performance from SketchUp in addition to the CPU.
Recommendation from Norbert (aka sketch3d_de)
Multi-threading for modeling operations (i.e. geometric calculations) is a pretty non-trivial thing, I'm not aware of any recent modeler being capable to do this, besides simple raster operations during rendering/raytracing 'dumb' images of course.
Just because the hardware does develop in this direction, multi-threaded modeling operations are not simply a compulsive consequence but need also be doable in the sense of mathematics, i.e. many if not all modeling operations are based on several calculations each dependent on the result of the calculation before and therefore are serial by nature.
_If _you want to improve the speed of SU in connection with high poly count models _yet_, the only thing you currently can do is to buy a (desktop) system with the fastest (clock frequency not kernels) CPU avail (= Intel Core i7 3770/4770) and a decent graphics accelerator (= GTX 760 and better).
- CPU : intel Core i7-4770/4790k (slower <-> faster)
- GPU : nVidia GeForce GTX 750Ti/760/770/780 (slower <-> faster)
- RAM: 8+ GB (2x 4GB)
- SSD : Samsung 840 Evo/Pro Series as system disk (slower <-> faster)
- OS : Windows 7 Professional x64 (better OpenGL support than W8)
not: AMD CPUs (slow) / GPUs (bad OGL)
not: integrated video systems as intel HD series (bad OGL)
not: CAD video cards as nVidia Quadro FX or AMD FirePro (no advantage, expensive)
Optimize rendering delay in SketchUp 7.1, 8, 2013...
SketchUp 7.1 has a revamped rendering engine that can handle higher poly models better than earlier program versions. To take advantage of the new rendering abilities in SketchUp 7.1, all the settings mentioned above for optimized CPU and GPU processing need to be followed.
The rendering delay can be tweaked through the Ruby Console. The delay values changed through Ruby, will change registry values on the PC and plist on the Mac (LODPreferences: FullDetailRenderDelayMin and FullDetailRenderDelayMax.) The change will therefore apply to all sessions of SketchUp. The new, default values in SketchUp 7.1 are:
the numbers 1.0 and 5.0 are seconds
- Type in one of the command lines in the Ruby Console.
- Change the number to increase or decrease the speed of the maximum and/or minimum rendering delay.
- Press Enter on the keyboard.
- The new value should appear under the command line in the Ruby Console.
Instead of manually entering values in the Ruby console, install Render Settings Lab plugin by Jim Foltz.
Note: But this rendering improvement introduced with SketchUp 7.1 come at a cost. Elements like shadows, textures, line styles, encounter a delayed rendering - not appearing until the geometry is re-rendered after orbiting is completed.
This rendering delay poses a problem for anyone wanting to make a video screen capture when shadows and sketchy line styles are used in the model. There are two way to work around this little annoyance. Either export a video instead of making a video screen capture or keep SketchUp 7.0 installed on the computer in addition to version 7.1.
To run both 7.0 (if you can still find it) and 7.1 on the same computer:
- Uninstall SketchUp 7.1.
- Install SketchUp 7.0.
- Make a copy of the SketchUp 7.0 program directory and rename the copy of the program directory folder (by default, Windows will add the words "Copy of.." to a placed in the same location.) You will have two identical copies of SketchUp 7.0.
- Install SketchUp 7.1. The upgrade will install over the original SketchUp 7.0 program files and leave the renamed program copy alone.
- Existing program shortcuts will open SketchUp 7.1. Create new program shortcuts to SketchUp 7.0.
- Both versions of SketchUp 7 will share the same registry values.
- As it is unlikely toolbars will be always arranged the same in both copies of SketchUp 7, be forewarned that toolbars will jump around when working with both version of SketchUp 7.
Large Address Aware enabled in SketchUp 8
The latest SketchUp 8 maintenance upgrade made a concession for the users of 64-bit OSs (and 32-bit ones that have the "3GB switch" enabled) in that SU was made "large address aware", which enables it to use up to 4 GB memory on a 64-bit OS (and about 3 GB on an enabled 32-bit OS). This should make image exports more reliable.
Here’s an informative FAQ page about safely adding the 3GB Switch to Microsoft Windows XP
Read the caution statement carefully:
Note: Before adding the 3GB switch, it is important to note that the switch is very picky, and requires that every device and driver on your system be fully WinXP compatible in order to work at all. If anything in the system is not compatible, Windows will not load at all when restarting with the 3GB switch activated. The only way to then remove the switch from the Boot.ini file so that Windows can load is to either mount the drive in another system and manually change the boot.ini file, or reformat the drive and re-install Windows. Both solutions are far from ideal.
To safely add the 3GB switch we strongly recommend adding a second instance of the OS in the boot.ini, and add the /3GB switch to that second version.
To safely add the 3Gb switch, you can also just add a second line in the boot.ini file and when booting, the system will ask which one you want to boot with. Leave the original on the top so if there is any issue, you can just simply skip selecting the second 83Gb) line and after a few seconds your machine will boot with the default settings automatically.
Gaieus has the 3Gb switch enabled but rarely use it (only when he really need some extra memory - like rendering large images etc.). This is the content of his boot.ini file ("magyar" means that he has the Hungarian version of XP Home):
Windows XP Home Edition - magyar" /noexecute=optin
Windows XP Home Edition - magyar 3GB" /3GB /noexecute=optin
Macs are basically already running 'large address aware' and until the recent SU update, this is why macs were always "way superior" when it came to exporting etc.. (as in Macs used to be able to export 4-times the size as SketchUp's windows counterpart.)...
...I think the fastest (for sketchup) Mac you can buy is last year's (2010) iMac. They had a dual core i5 which ran at ~3.6ghz per core but I don't think that's going to make much (if any) of a difference over (a) 3.33 chip.
Other general considerations
- Newer computers with faster processors can enhance speed. Having enough RAM is also helpful. Make sure your system meets the minimum hardware and software requirements for SketchUp, which are listed here.
- Make sure you have the current driver for your video card. For more information, click here
- If you have a fairly new video card, make sure you are using hardware acceleration. To enable:
- In SketchUp, open the "Window" menu.
- Click "Preferences."
- In the left pane, click "OpenGL."
- In the right pane, select "Use hardware acceleration."
- When you are using SketchUp, close any other applications that you don't need to have running.
- Optimize processor usage to favor demanding programs
- For example, in XP go to the Task Manager > Processes > SketchUp.exe > right-click > assign Priority and Affinity values to favor the program.
- On multi-core machines, Affinity allows you distribute core usage among programs. As SketchUp only uses one processor core, it can be assign to a specific core, and other demanding programs assigned to a different core(s).
- Hardware speed test - Try SketchUcation's Test_Su7 SKP to test your computer.