At SolidWorks World 2012, in the introduction to their talk titled “Maximizing SolidWorks Performance,” Adrian Fanjoy and Josh Altergott noted, “Performance is a perpetual problem. You’re always going to be running into the performance wall at some point in time.”
Get the Whole Story
This article is supplemented by the white paper titled “Maximize SolidWorks Performance,” which details CATI’s tests, methodologies, findings, and recommended configurations. To download the free white paper, go to deskeng.com/whitepaper.
The phenomenon is familiar to most CAD users. Unable to cope with the complexity of an assembly or the demands of a modeling operation, the workstation comes to a crawl. That’s when you know your CAD program has hit the proverbial wall. Understanding the performance wall was critical to Fanjoy and Altergott, technical services director and technical support manager of Computer Aided Technology Inc. (CATI), because it could help them answer the question their customers ask the most: “What should I buy or do to have the greatest impact?”
Just from experience, Fanjoy and Altergott have accumulated a few tricks on boosting CAD performance. But they wanted empirical data--incontrovertible, statistical, scientific data--to support what they knew intuitively. So, in a series of controlled tests, they tried to break the performance wall. They first created a large assembly out of problematic files that have been known to bring systems to their knees. Then, to establish a baseline, they ran a macro that executes a number of modeling tasks in SolidWorks on a typical CAD workstation. Afterward, they ran the same macro using alternate CPU, GPU, memory, hard drive, operating system, and SolidWorks configurations. In doing so, they were able to isolate and study the impact of each contributing factor.
Macro-Driven SolidWorks Tasks
To determine the best possible environment for SolidWorks, CATI researchers used a macro that ran the following SolidWorks tasks on a base system, then executed the same tasks using different CPU, GPU, memory, OS, and software configurations.
- Switching Sheets
Fanjoy and Altergott discovered that, by adopting a mix of hardware, software, and OS adjustments, they could reduce a job that took 5 hours, 1 minute, and 35 seconds down to a mere 55 minutes, 19 seconds. In other words, if you adopt their recommendations, you could see as much as 5.5 times improvement in your SolidWorks performance.
Coyote Meets the Cluge
The centerpiece of CATI’s research was a flexible, scalable system that could be easily configured to represent different environments, ranging from a standard system to an optimal system. For their purpose, testers were able to enlist BOXX Technologies’ help. The company provided CATI with the 3DBOXX 8550 XTREME. The system supports up to two six-core Intel Xeon 5600 processors running at 3.4GHz (4.3GHz when overclocked).
“[BOXX’s system] gave us a vast area, a great sandbox to play in, so we can make dramatic changes to our environment very easily,” says Fanjoy.
To study the effects of different CPU configurations on SolidWorks performance, CATI gradually scaled up the CPU setup from 1 to 12 cores, and processor speed from 3.42GHz to 4.43GHz. The researchers also scaled up its memory from 8GB to 24GB. Similarly, they also swapped out standard hard drives with solid-state drives, experimented with different GPUs, and tweaked the OS and CAD configurations in-between tests.
The harsh, cruel treatment they planned to put the system through reminded the testers of Wile E. Coyote, the character who endured a variety of mistreatments in every episode of the Road Runner cartoon. Accordingly, CATI researchers nicknamed the test system Coyote.
|Research shows what hardware and software changes would reduce the time to complete a SolidWorks job. |
The test dataset was an assembly file constructed out of several large SolidWorks files, reused with permission from CATI customers. They were selected from real-world data that has proven to cause performance problems. Humorously called the Cluge by testers, the consolidated assembly contains 6,637 total components, 5,862 parts, 775 subassemblies, 663 top-level mates, and 13,011 bodies. With such complexity, it was expected to push the limit of standard CAD workstations.
To establish a baseline, CATI testers first ran a macro that executes a series of modeling tasks on the test dataset, with the system configured to represent a standard CAD workstation: 1 Xeon processor with 2 cores, running at 3.46GHz, 8GB RAM, with most OS and CAD settings at default. This provided them with a baseline of 5 hours, 1 minute, and 35 seconds. The rest of the tests were designed to measure the deviation from the baseline produced by tweaks to the CPU, GPU, OS, and SolidWorks settings.
The Little Things That Make a Big Difference
By default, Windows OS uses a display option enhanced with simulated shadows, transparent program windows, and animations. That is especially true of later versions of Windows, such as Windows 7. Foregoing these aesthetic treatments (under the Visual Effects tab) could divert some of the computing power back to CAD performance. In CATI’s tests, turning off these effects boosted SolidWorks performance by 8.5%.
Some of the add-ons in SolidWorks are by default turned on at installation. Even when not actively engaged, the add-ons demand some computing power and memory, which could otherwise be devoted to modeling operations. CATI recommends reviewing the add-ons and turning off those that you do not plan to use frequently.
You may further increase CAD performance by choosing a less demanding image quality in SolidWorks. The RealView and Shadows in Shaded Mode options are designed to display models in high-contrast photorealistic view, enhanced with shadows and reflections. While impressive to look at, such high-quality visuals may not be necessary in geometry editing, modeling, and day-to-day CAD operations. Choosing a simpler visual style could improve CAD performance by reducing the computing burden on the CPU.
In addition, CATI identified more than 20 performance-boosting adjustments you can make to SolidWorks’ default system settings, ranging from disabling thumbnail graphics in the file explorer window and selecting draft quality for new views to reducing transparency in in-context assembly edits. Foregoing these niceties may mean giving up certain conveniences (such as the ability to graphically preview files in the explorer window), but the boost from the adjustment could add up to 9% performance increase.
The Heart of the Matter: CPU
Many CAD software programs, including SolidWorks, are primarily single-threaded, so increasing the CPU speed is one of the easiest ways to increase performance. Simply put, the faster the CPU speed, the more instructions it can process in a given amount of time. In CATI’s tests, overclocking the CPU in the 3DBOXX 8550 XTREME from 3.42GHz to 4.29GHz bumped up the performance by 12%.
Overclocking, or tweaking the CPU to run at a speed faster than the manufacturer’s specified speed, is not recommended for novices with limited system knowledge. Doing so increases the thermal output of the CPU; therefore, if done incorrectly, it could overheat the system and cause irreparable damage. BOXX is one of the few workstation providers who sell overclocked systems covered under warranty.
Though mostly single-threaded, SolidWorks does take advantage of multicore processors in certain areas, such as rendering, simulation, analysis, interference checking, and large-file retrieval. Even if SolidWorks is the only application running on the workstation, the software must still share resources with the OS. Furthermore, day-to-day operations require running more than just the CAD software. Therefore, according to Fanjoy, “If you want to run SolidWorks on two cores, you need to turn everything else off. And you’re still going to be sharing some bandwidth with the operating system. If you’re doing anything of any substantial size or complexity, I wouldn’t recommend going with anything less than four cores.”
Multicore CPUs are shown to produce the greatest benefits in parallel-processing jobs, such as photo-realistic rendering. In CATI tests, the same rendering job that took more than 4 hours on four cores took just a little more than 1 hour when processed on 12 cores.
More Memory, Less Paging
When dealing with large assemblies, if the system doesn’t have sufficient memory to accommodate the size of the active data, it will most likely use paging--borrowing available hard disk space to temporarily read and write data--to deal with the shortage. When this happens, the system tends to run slower.
The test data set, for example, requires at least 10GB of RAM. Any amount below 10GB was shown to trigger the paging -- also known as swap -- process, which led to system slowdown. In CATI’s tests, bumping system RAM from 8GB to 24GB resulted in a whopping 54% improvement.
If paging does occur you’ll want a fast hard drive to handle it. In CATI’s tests, replacing the traditional spindle drive in the base system with a solid-state drive (SSD) increased SolidWorks performance by 47%. SSDs cost more than spindle drives, but they offer better speed at reading and writing data, which makes a difference in CAD performance.
Fix Top-Heavy Assemblies
Reducing top-level assembly mates--one of the best practices advocated by CAD users--also makes a difference in CAD performance, as CATI tests confirmed. Mating conditions that define the geometric relationships among subassembly components tend to take immense computing power to resolve and calculate. Consequently, loading a large assembly with hundreds of top-level mates could slow down the system. By contrast, nesting these mates at the subassembly level reduces the amount of calculating required at load time. In CATI tests, reducing top-level mates from 962 to 273 resulted in a 15% performance increase.
Baseline vs. Optimal System
- Xeon processor with 2 cores, at 3.46GHz
- 8GB RAM
- SolidWorks 2012 SP1, default settings, some add-ons active
- Windows 7 64-bit OS, default display settings
- Operating system and files on same 7200 RPM hard drive
- Xeon processor with 12 cores, at 4.29GHz
- 24GB RAM, SWAP 48GB
- SolidWorks 2012 SP1, optimized graphics settings, some
- Windows 7 64-bit OS, display settings to Best Performance
- OS on RAID 0 Intel Solid State Drive 520 series
- Files on OCZ RevoDrive with PCI-Express SSD
- NVIDIA Quadro series graphics card
The Balancing Act
Some of the adjustments recommended by CATI, such as suspending visual effects in Windows OS and deactivating unused SolidWorks add-ons, cost nothing. Others, like upgrading CPU speed and memory or switching to SSDs, require additional investment. CATI’s tests allow engineers to quantify the performance gains of those investments.
“It is also very important to remember that a computer system is just that--a system, and it should be treated as such,” said Fanjoy. “What we have found in our efforts conducting these tests is that improvement of a modeling environment must be approached at a system level rather than a specific component level. All of the hardware, configuration, and modeling methodology options work in concert to establish the performance capabilities of a workstation.”
Kenneth Wong is Desktop Engineering’s resident blogger and senior editor. Email him at email@example.com or share your thoughts at deskeng.com/facebook.
Computer Aided Technology, Inc.