GPU driver factors into it as well , Nvidia has poor performance with non-TITAN GPUs because they're extremely gimped at the driver level:
Specviewperf 12 = using Windows 7 traces
Specviewperf 13 = designed for Windows 10 OS
Nvidia has optimizations for DX11 that include forcing multithreading via commandlist. Radeon VII did not have Radeon Pro driver optimizations while Vega FE did. That didn't help it.
Originally Posted by https://www.spec.org/gwpg/gpc.static/vp13info.html
The benchmark measures the 3D graphics performance of systems running under the OpenGL and Direct X application programming interfaces. The benchmark’s workloads, called viewsets, represent graphics content and behavior from actual applications.
SPECviewperf 13 has the following minimum requirements:
- Microsoft Windows 10 64-bit RS3 or later
- OpenGL 4.0
- Direct X12 support
This means for Windows 10 install with GTX 1080 Ti
you end up with the following result for Solidworks (which prefers TITAN or GPUs with pro drivers):
R7 2700X = 93.59
R5 2600X = 91.25
R5 2600 = 89.49
R7 2700 = 87.22
R5 2400G = 51.37 with Vega 11 iGPU
R3 2200G = 47.56 with Vega 8 iGPU
with RTX 2080 TI:
i7-9700K = 119
i9-9900K = 116
R9 3900X = 115
R7 3700X = 113
R7 2700X = 105
R7 1800X = 95
This is notably weaker than a $900 Quadro RTX 4000 , $1000 Radeon Pro WX 8200, $750 Quadro P4000, etc. This also verified Igors Lab result but suggests boost behavior on 3rd gen Ryzen is better on X570 Taichi than STRIX X570-E (as the Ryzen 3rd gen eeks out a few extra FPS).
SPECapc for Solidworks actually benchmarks performance of the system's Solidworks install along with their hardware rather than the hardware only:
Originally Posted by https://www.spec.org/gwpg/apc.static/sw2017info.html
SPECapc for Solidworks 2017 is performance evaluation software for vendors and users of computing systems running Solidworks 2017 CAD/CAM software on Microsoft Windows 10 64-bit platforms.
Lastly, if you look at Specviewperf13 results in Linux, it's comically faster
than Windows 10 results:
Of course if you're not using a parallelized workload the extra cores are "nice to have" rather than necessity.