Like most software developers, Zemax maintains a list of minimum system requirements for OpticStudio. The list is somewhat vague, though, with statements like "Multi-core processors with a minimum of 2GB per core recommended for optimal performance." They do also provide some articles which go into a little more detail, but here at Puget Systems we like to do our own testing so we can ensure that we guide customers in the right direction when they purchase a new workstation. With that in mind, here is a summary of what we have found is needed to run OpticStudio optimally.
When it comes to CPUs there are two main specifications that define the capability of a CPU:
- The frequency directly affects how many operations a single CPU core can complete in a second (how fast it is).
- The number of cores is how many physical cores there are within a CPU (how many operations it can run simultaneously).
Whether a high frequency or high core count CPU is better depends on how well a program is designed to take advantage of multiple CPU cores (often referred to as multi-threading). In the case of OpticStudio, as of version 16.5, this is complicated further because different file types have separate code paths. We found that ray tracing of some files scaled almost perfectly, while other file types scaled less well and actually performed worse when a second physical processor was added. There are also other operations in OpticStudio besides pure ray tracing, and while we could not test every possible feature we came up with the following guidelines:
- For ray tracing of STL files, get the highest combination of CPU cores and clock speed you can afford. Working with these files scales incredibly well, so anything up to 32 physical cores (which will give you 64 threads, thanks to Hyperthreading) is excellent. OpticStudio is currently limited to using 64 threads at a time, so more than that is not needed unless you plan to run multiple OpticStudio instances at the same time or have other CPU-intensive software running alongside it.
- For ray tracing of STEP, IGES, and SAT files, get the a single CPU with high clock speed and a fairly high number of cores. These files use a different code path, and it is not as effective at using multiple CPU cores. More importantly, it actually performs worse when a second physical processor is added. If you get a dual processor system for other reasons, and want to get the best performance when ray tracing files of this type, consider using the affinity settings within Windows to limit OpticStudio to using a single processor. You can even run two instances of OpticStudio this way, with each set to run on a different processor, but since manually changing affinity settings every time you start OpticStudio is time consuming we tend to recommend a single processor workstation for this usage.
- For optimization heavy workloads, a single, fast CPU will give you the best value - but there is some benefit from having dual processors. We actually found optimization to use far less CPU resources than pure ray tracing, with one core near 100% and each other core utilized about 40-60% rather than the 100% usage on all cores seen during ray tracing. In testing on dual 14-core Xeon processors, we found that going from 1 core to all 14 on a single processor increased performance by about 640%: reducing the calculation time from 43 minutes down to 6.7. Adding the second processor only improved that another 28%, though, to 5.24 minutes.
Video Card (GPU)
We have confirmed with Zemax that OpticStudio does not currently use GPU acceleration for any calculations, but that is something they may add in the future. For now, as of version 16.5, all that is needed is a basic video card compatible with DirectX 11 and capable of running your desired monitor(s). If you use any CAD programs alongside OpticStudio, then going with a Quadro card is probably a good idea since many CAD software makers either require or recommend professional-grade cards like the Quadro instead of mainstream GeForce models. For that reason our recommended systems default to Quadros, but if you are confident that you don't need one we can use a less expensive GeForce card instead.
While Zemax's formal recommendation is "a minimum of 2GB per core", we found that even with 28 cores working hard the memory usage during ray tracing and optimization never exceeded 10GB. That is not just 10GB for OpticStudio, either: that is the whole system's memory usage. The exact amount of RAM needed is going to depend on your specific projects and files, as well as other programs you use on the system, but we would consider 16GB the minimum and 32GB a safer amount. We did not see any indication of the memory usage depending on the number of cores, though, so the above numbers should hold regardless of how much CPU power your workstation has.
Storage (Hard Drives)
With the falling costs associated with SSDs, we almost always recommend using an SSD for the primary drive that will host your OS and the installation of OpticStudio. The high speed of SSDs allows your system to boot, launch applications, and load files many times faster than any traditional hard drive.
OpticStudio files themselves tend to be fairly small, so they load up quickly even on drives which are not blazing fast. This means that the difference between a SATA-based SSD and a faster M.2 or PCI-Express drive is not very noticeable. Huge amounts of storage are also generally unnecessary, unless you use a lot of other applications with differing needs.
Since SSDs are still more expensive than platter drives per GB, if you do want additional long term storage we recommend using a traditional hard drive for that. Using a SSD can be useful in some situations, but most of the time the high performance of an SSD is simply not required for a storage drive. External hard drives can also be an excellent option for creating regular backups of your system and data.