As a value-added reseller, we at Computer Aided Technology receive a lot of requests for advice regarding hardware purchases. About seven years ago, we had received so many of these requests that we decided to give the topic a lot more attention and actually dive in and do some testing. I don’t mean typical testing.I mean intense, structured, thorough testing.
My partner, Josh Altergott, and I began developing a testing tool and methodology focused around typical-use scenarios of SOLIDWORKS. With an application program interface (API) developed in conjunction with our sister company, InFlow, we were able to structure our testing methodology to isolate singular, particular aspects of the software’s environment and test them individually.
What we were then able to do is measure the impact of small changes in specific aspects of a modeling environment and determine what changes have the most significant impact. Because we have continually improved the tools, methodology and process over the last several years, we are confident in our results.
This article will discuss the most critical aspects of a modeling environment from a hardware configuration perspective.
RAM
Our conversations with customers regarding hardware configuration always begin with RAM. RAM can kill your productivity if you don’t have enough but also can be an expensive over investment if you purchase more than you need.
(All images and graphs courtesy of the author.)
All SOLIDWORKS models have their own threshold for required RAM. The trick is to determine how much RAM your models need. There are several ways of doing this, but the easiest is to load your most demanding model and begin working with it. Open the Windows task manager and monitor the total amount of RAM being used while working. Determine the amount of RAM you would want to have in reserve. I personally look for 20 percent or so. Then buy a practical amount of RAM to support the need. The main thing to remember is that overbuying RAM only hurts the wallet on the front end. Poor productivity hits your wallet for the life of the workstation.
Number of Cores
In the past, we had to help folks understand that multiple cores or processors were essential for the effective use of the software. Now we have to make sure that folks don’t overbuy.
SOLIDWORKS can use two cores for certain aspects of the software. Quad-core processors are preferred to accommodate the software’s needs as well as the needs of the operating system and other applications. It‘s also important to note that for SOLIDWORKS, anything more than four cores is practically useless. The software just leaves the extra capacity on the shelf.
Our research has shown this dynamic very clearly. The data below shows the result of running the exact same benchmark or the same workstation where the only difference from run to run is the number of cores. This list states 1) the number of cores used to run the test, 2) the time to complete the test and 3) the percentage difference to run the test compared with the two-core baseline.
- 1 core—7:35:41 :: 286 percent slower
- 2 cores—1:58:07
- 3 cores—1:41:47 :: 13.8 percent faster
- 4 cores—1:41:08 :: 14.4 percent faster
- 6 cores—1:40:40 :: 14.8 percent faster
With our baseline being a workstation with two cores (in bold above), it is easy to see that dropping to a single-core machine would be a productivity nightmare. However, jumping to three cores can generate a significant increase in performance. Given that you can’t get a three-core processor, a four-core processor is the practical choice. Also, it’s important to realize that going beyond four cores yields no significant increase in performance.
There are some situations where more than four cores can be very beneficial. Simulation and photo-rendering both take advantage of multicore processing much more effectively than core SOLIDWORKS.
Relative to Simulation and Flow Simulation, the productivity increase tapers off after six cores, meaning that eight or more cores doesn’t buy you anything worth the investment.
However, when looking at PhotoView 360, not only is multicore much more helpful, but hyper-threading can make a significant difference as well, improving performance up to 17 percent in our tests.
- 4 – 6 cores—17 percent faster
- 4 – 8 cores—51 percent faster
- 4 – 16 cores—74 percent faster
It is necessary to note as well that Visualize, which we have not yet tested, not only takes advantage of multicore very effectively, but also utilizes GPU, thrusting the graphics card into greater prominence than ever before within the SOLIDWORKS community.
Processor Speed
We have done significant testing targeted at processor speed to determine how fast the processor needs to be and to determine if there is a point of diminishing return as processor speed increases. To help in this effort, we ran our benchmark with assemblies ranging between 95 and 21,000 total components (35 and 2,440 unique components). We tested processor speeds from 2 to 4.7GHz and showed very clearly that we could realize a roughly 7.5 percent to 9 percent increase in speed to complete our benchmark for every increase of 0.5 GHz of processor speed.
An interesting aspect of this experiment is that there was no discernible difference based on the assembly size. No matter what the assembly size was, the benchmark always completed with a percentage increase within the range noted above. No matter how big or small your models are, they can perform faster with a faster processor. Also, we saw no diminishing returns as we increased the processor speed, meaning that a faster processor will always improve performance. This, as discussed above, is not the case for RAM or the number of processor cores.
Hard Drive
Hard drives have undergone a significant transition in recent years. Where, in the past we used to talk to users about higher performance drives based on RPMs and potentially RAID arrays, we now just recommend solid-state hard drives. There is really no reason to do anything else. Our testing over the years has consistently shown a 12 percent to 18 percent performance improvement on our benchmarks when switching from a 7200-rpm standard hard drive to a solid-state drive. This coupled with the fact that solid-state drives have dropped so significantly in price makes the decision practically automatic.
There are situations where users store a lot of data on their local workstation hard drive. In these cases, a single solid-state hard drive large enough to store the data may be cost prohibitive. We recommend a second standard high-capacity hard drive for storage while maintaining a solid-state drive for the operating system, the software and a working directory for files currently being used.
Graphics Cards
Graphics are an important aspect of the modeling environment relative to both stability and performance. Graphics cards that are either unsupported or using drivers that are unsupported can cause a great deal of grief due to crashing, hanging and bizarre visual anomalies. SOLIDWORKS requires OpenGL-capable graphics.
Regardless of how you may feel about the requirement, it does limit the available selection of graphics cards to AMD FirePro and FireGL, NVIDIA Quadro and GRID and the Intel HD and IRIS Pro lines. The cost of straying from these options or experimenting with gaming cards can be significant. The gaming cards are very powerful when targeted at their core purpose—playing games. When using gaming cards for SOLIDWORKS, a user will lose functionality and crash more frequently.
The performance aspect of a graphics card is interesting. Measuring graphics performance is different than measuring calculative performance. With graphics, we are interested in “feel” and “response” as a user experiences it. For example, when a user rotates a model from point “A” to point “B” on the screen, it will get to the final position in the same amount of time regardless. To measure graphics performance, we are interested in how smoothly it made that transition, how detailed the image was as it made that transition and how it “felt” to the user as it made that transition. Essentially, we are interested in how many frames the card can display per second while we manipulate amodel on screen through such transitions.
What we have found in our testing has been enlightening. Stepping up through the different levels of graphics cards did result in higher performance in frames per second. However, this improvement in performance almost always occurred in a range beyond the monitor’s ability to display the difference as well as beyond the human eye’s ability to perceive the difference if a person had the opportunity to attempt a comparison.
Most monitors display at roughly 60Hz.So, realistically, anything over 60 fps is going to be overkill. Where we did see a difference in the performance of graphics cards was with models that were set to very high image qualities.
This graph also shows us that graphics performance as measured in frames per second drops rapidly between 0 and 2,000 components. However, in tests with our models, we have to cross 3,000 components before we drop below the capabilities of the typical monitor.
At this point, we need to leverage options such as “Level of detail” to lighten the graphics load and maintain comfortable “feel” and “response” by sacrificing model detail in transitions.
Summary
As a result of all of our research and testing, we are much more confident in our hardware recommendations, and making those recommendations has become much simpler.
In the case of general SOLIDWORKS use (and assuming that there are no other significant drains on the workstation while modeling), we recommend the following:
- The fastest quad-core processor you can get (overclocking i7 processors can take it to another level)
- Solid-state hard drives (operating system, SOLIDWORKS, working directory)
- Separate standard high-capacity hard drive for local storage, if necessary
- NVIDIA Quadro K2200 graphics card (don’t over-buy the graphics card)
- Ample RAM for the models being utilized
The most important thing to remember is that workstation performance is an investment that can yield tremendous benefits over time. In our experience with customers, we have seen countless examples where buying the right hardware for the situation saved tremendous amounts of money in productivity increases and also resulted in much happier designers and engineers.
About the Author
Adrian Fanjoy currently serves as vice president, technical services for Computer Aided Technology, LLC. His responsibilities include management of the SOLIDWORKS and additive manufacturing technical teams. For the past 10 years, he has specialized in SOLIDWORKS performance improvement from a hardware and configuration perspective.