Table of Contents
Introduction
When designing a computer there are literally thousands of different hardware components to choose from and each one will have an impact on the overall performance of your system in some shape or form. For Solidworks, it is extremely important to have a good CPU and plenty of RAM, but you also need a matching video card to ensure that you are able to rotate and view models smoothly.
What video card you need is going to depend on a number of factors including:
- The complexity of the models you work with – primarily based on the total number of triangles
- The resolution of your monitor – 1080p vs 4K
- The display quality you prefer – LOD, Shaded w/ Edges, RealView, etc.
- Your target FPS – typically either 30 FPS or 60 FPS
In this article we will be testing three different NVIDIA Quadro video cards while taking into account these four factors. If you want to skip over our individual benchmark results and simply view our conclusions, feel free to jump ahead to the conclusion section.
Test Setup
For our test system, we used the following hardware:
Testing Hardware | |
Motherboard: | Asus Z170-A |
CPU: | Intel Core i7 6700K 4.0GHz Quad Core 8MB 95W |
RAM: | 4x Crucial DDR4-2133 4GB (16GB total) |
GPU: | PNY Quadro M4000 8GB PNY Quadro K2200 4GB PNY Quadro K620 2GB |
Hard Drive: | Samsung 850 Pro 512GB SATA 6Gb/s SSD |
OS: | Windows 10 Pro 64-bit |
PSU: | EVGA SuperNOVA 850W P2 |
Software: | Solidworks 2016 SP 0.1 |
Our test platform is built around an Intel Core i7 6700K as that is the CPU that should give the best possible performance in Solidworks when rotating models. Currently, Solidworks only officially supports NVIDIA Quadro and AMD FirePro discrete video cards and for this article we will be focusing on NVIDIA Quadro cards in particular.
To perform the actual benchmarking, we used a mix of AutoIt scripts and Solidworks macros to set the different quality settings, load the relevant model, and record the average FPS while rotating the model. There are a number of different ways we could have recorded the FPS, but we opted to simply use a macro with a timer to rotate the model 45 degrees to the left and right for a set number of frames. From the number of frames and the total time it took to render those frames, we are able to determine the average FPS (frames per second). One key factor is that we made sure that every model started with the view set to front-top so that any reflections and shadows would stay in view while the model was being rotated.
For our test models, we chose the following models available from GrabCad.com that will give us results for a range of model complexities based on the total number of parts and number of triangles. These models are:
Steam Engine w/ Horizontal Beam
by Ridwan Septyawan
80 parts – .26 million triangles
Spalker
by Andy Downs
364 parts – .5 million triangles
One note that we would like to make is that if you do not know how many triangles the models you work with have, the easiest method we know of to find out is to simply save the model as an .STL file. During the save process, a window should popup with information about the model including the number of files, the file size, and the number of triangles.
1080p Results
Steam Engine with Horizontal Beam and Centrifugal Pump
To start things off we are going to look at the simplest of our test models which has only 80 parts and .26 million triangles. While we did see a change in FPS with different settings and with different video cards, what we mostly want to point out is that at the highest quality settings (LOD off, Shaded w/ Edges, and RealView and Ambient Occlusion enabled) even the entry Quadro K620 was able to render the model at a ridiculous frames per second (~160 FPS at the worst).
Considering the fact that many Solidworks users consider anything above 30 FPS as acceptable, this means that for simple models at 1080p even an entry-level card like the Quadro K620 is more than adequate when paired with a high frequency CPU like our Intel Core i7 6700K.
Spalker
The Spalker model contains about 4.5 times more parts and twice the number of triangles than the previous model. While this does translate into a decent drop in FPS, we are again able to achieve above 60 FPS with any video card and quality setting combination. So once again on our test platform even a Quadro K620 is more than adequate for this complex of model.
Audi R8
While the Audi R8 model doesn't have many more parts than the Spalker model, it does have about 3 times the number of triangles. If all you need is 30 FPS, it turns out that a Quadro K620 is still fully capable of displaying this model at any quality setting. If you want to achieve a higher FPS, however, the additional triangles in this model means that you may want to look at a higher-end video card.
Without RealView and Ambient Occlusion, the Quadro K620 and Quadro K2200 actually give almost identical performance and either should still give you above 60 FPS. If you enable RealView and Ambient Occlusion, however, you are going to want a Quadro M4000 and even then you will only be able to stay above 60 FPS when using shaded mode (not shaded w/ edges).
If you need 60 FPS with Realview, Ambient Occlusion, and shaded w/ edges, you may need to look at an even higher end GPU like a Quaro M5000 or even a Quadro M6000.
4K Results
Steam Engine with Horizontal Beam and Centrifugal Pump
Even with our most simple model, you can already see just how much more horsepower your system needs to display Solidworks models at 4K resolutions. While at 1080p we were getting at worse ~160 FPS even with a K620, at 4K we are getting as low as ~60 FPS.
Even with how much lower the FPS is at 4K, however, for this complex of a model, a Quadro K620 is still the best choice since it should give you over 60FPS regardless of quality setting.
Spalker
If you do not use RealView, a K620 is still going to get you over 60 FPS even at 4K with a model with ~.5 million triangles. If you do use RealView, however, a K620 will keep you above 30 FPS but if you want 60 FPS you would definitely want to upgrade to a Quadro K2200.
Audi R8
The Audi R8 model is the first time we see the Quadro K620 not able to maintain greater than 30 FPS with certain quality settings. This only happens with RealView and Ambient Occlusion on, however, so if you do not use these features a K620 will still keep you above 30 FPS. If you do use those features, you will need at least a Quadro K2200 to stay above 30 FPS.
If you want to be above 60 FPS, a Quadro K2200 will get you there if you do not use RealView and Ambient Occlusion. If you do use those features, technically none of the cards we tested will keep you above 60 FPS. The Quadro M4000 will get you very close, but not quite. While we did not have it available to test with, a Quadro M5000 will probably be your best choice if you want to maintain 60 FPS at 4K even with the highest quality settings with this complex of a model.
VRAM Requirements
While we've looked at the performance of Quadro cards for different models and quality settings, a very important factor that should not be ignored is the amount of VRAM (video card memory) you will need. While we know that even the Quadro K620 has enough VRAM to display the assemblies we tested with, it only has 2GB of VRAM which is actually very close to the amount required when we were testing at 4K.
To help you decide how much VRAM you need, we logged how much was being used for each model:
VRAM Used | 1080p | 4K |
Base Solidworks | 600 MB | 650 MB |
Steam Engine with Horizontal Beam and Centrifugal Pump .26 million triangles |
750 MB | 1.7 GB |
Spalker .5 million triangles |
1.05 GB | 1.7 GB |
Audi R8 1.4 million triangles |
1.15 GB | 1.8 GB |
Keep in mind that this is only the amount of VRAM used when the only thing you have open is the one assembly. As soon as you start adding additional assemblies, the component parts of an assembly, or even running other programs on the system, the VRAM requirements climb faster than you would think. For example, if you were to open additional assemblies similar to the Audi R8 assembly, we found that you would need roughly an additional 165MB of VRAM per assembly at 1080p or another 650MB per assembly for 4K.
All-in-all, if you use a 1080p display we would recommend a video card with at least 2GB of VRAM. If you tend to have multiple complex assemblies and/or a large number of parts open at the same time, however, we would recommend a card that has 4GB of VRAM.
For 4K, you really need a card with at least 4GB of VRAM. Our test assemblies all used almost 2GB of VRAM by themselves, so as soon as you open even a few additional parts you would need more than 2GB. If you have 3+ complex assemblies, a decent number of parts/drawings open, or other programs running that use a decent amount of VRAM, we would strongly recommend upgrading to a card that has 8GB of VRAM. However, be aware that once we had enough files open to use around 5-6GB of VRAM, we started to get an "available system memory is critically low" error message from Solidworks even though we still had plenty of VRAM and system RAM free. We believe this is due to an issue described in this blog post where Windows is only able to display a finite amount of GDI objects. All this really means is that if you have a video card with 8GB of VRAM you may not be able to actually utilize all of it (although you should be able to at least use some of it which will allow you to have more files open at a time than you could with a 4GB card).
Conclusion
The right video card for you is going to depend on a number of factors including your screen resolution, the complexity of assemblies you work with, how many files you tend to have open, the quality settings you prefer to use, and your target FPS. However, based on our benchmarks we can come up with some general guidelines that should help you decide on the correct video card for your use-case. These recommendations are based not only on the performance numbers we saw, but also the amount of VRAM you are likely to need.
30 FPS Target | 1080p | 4K |
Basic assemblies ~.5 million triangles |
Quadro K620 2GB | Quadro K2200 4GB |
Medium assemblies ~1 million triangles |
Quadro K620 2GB | Quadro K2200 4GB |
Complex assemblies ~1.5 million triangles |
Quadro K620 2GB | Quadro K2200 4GB |
Extreme assemblies >1.5 million triangles |
Quadro K2200 4GB | Quadro M4000 8GB |
If your goal is to maintain at least 30 FPS when rotating models, the decision is actually fairly straight-forward. Unless you work with extremely complex assemblies a Quadro K620 will do great for 1080p. While it technically has the capability to power those same models at 4K, the 2GB of VRAM will very likely not be enough. For that reason we would recommend upgrading to a Quadro K2200 with 4GB of VRAM if you use a 4K display.
If you do work with extremely complex assemblies, we would recommend a Quadro K2200 for 1080p or a Quadro M4000 for 4k.
60 FPS Target | 1080p | 4K |
Basic assemblies ~.5 million triangles |
Quadro K620 2GB | Quadro K2200 4GB |
Medium assemblies ~1 million triangles |
Quadro K620 2GB | Quadro K2200 4GB Quadro M4000 8GB w/ RealView |
Complex assemblies ~1.5 million triangles |
Quadro K620 2GB Quadro M4000 8GB w/ RealView |
Quadro K2200 4GB Quadro M4000 8GB w/ RealView |
Extreme assemblies >1.5 million triangles |
Quadro M4000 8GB *Quadro M5000 8GB w/ RealView |
Quadro M4000 8GB *Quadro M5000 8GB w/ RealView |
*Not specifically benchmarked in this article
If you want to stay at or above 60 FPS, your choice of video card is going to heavily depend on how complex the assemblies you work with are. A Quadro K620 will still work great at 1080p for assemblies with ~1 million triangles, but any more complex and you would need a Quadro M4000 or even a Quadro M5000 video card. For 4K, a Quadro K2200 will only work well for assemblies up to about 1 million triangles. Even at the 1 million triangles point, you would ideally want a Quadro M4000 if you want to have RealView and Ambient Occlusion enabled. For extremely complex models you really need at least a Quadro M4000 if not a Quadro M5000 video card.
Puget Systems offers a range of powerful and reliable systems that are tailor-made for your unique workflow.