Choosing hardware wisely for arcitectural visualization
Giving high-level advice for expert selection of components and machines
The post appeared first on Moduluc Blog 10th December 2019. Thanks Ehsan Salarikhaniki for the extensive professional revision and proofreading!
There may not be too many disciplines, whether creative or scientific, that were more hardware intensive than architectural visualization. From the 1990’s, arch-viz artists hugely rely on their powerful machines, leveraging computer performance to serve their artwork. Over the years arch-viz software evolved and became more accessible, however so do expectations grow higher, pushing hardware requirements farther, and keeping evolvement going. As a general rule of thumb, when doing arch-viz, there aren’t many scenarios when you couldn’t benefit from an even more powerful machine than what you have. However, with a good understanding on which hardware does what, you can make better decisions on selecting hardware, optimizing your costs, and accelerating your workflow. In this post we’re establishing some rather general guidelines on hardware selection for arch-viz, in different segments and use cases. Since we won’t go into suggesting specific components or parts, chances are, you’ll be able to confidently apply the principles below in the years to come.
Selecting software first, hardware second
First of all, when speaking of intentional hardware selection for arch-viz, in theory, selecting software should always precede selecting hardware. This is because different arch-viz software may work entirely differently behind the scenes, leveraging different software components in processing user actions. Think of rendering, that’s likely the most hardware-intensive task in each pipeline, which is executed on CPU only in some visualization software (e.g. Corona Renderer, Mental Ray etc.), on GPU only in some software (e.g. Enscape, Twinmotion etc.), or on both CPU and GPU in parallel in other software (e.g. Cycles, VRay, etc.). Of course, chances are, you aren’t invested in just one software yet, or that your studio uses several different software in its pipeline, each coming with its own technical specifics. For example, Blender even has Cycles, a hybrid CPU- and GPU-based rendering engine, but also Eevee, a modern GPU-only renderer, each one to be used in different scenarios. I myself use the entirely CPU-based Corona Renderer in most arch-viz projects I’m working on, but also experimenting with Blender’s Eevee on some projects for its extreme speed benefits, at the cost of minor quality loss. The two solutions come with entirely different hardware requirements to run fast, as you see. For keeping the article less specific, we’ll focus on balanced systems here, however – while selecting hardware – keep in mind the above, and try to weight your hardware requirements based on the software you’ll use most.
/.../ when speaking of intentional hardware selection for arch-viz, in theory, selecting software should always precede selecting hardware.
In next topics, we’ll focus on selecting most important computer components in arch-viz, starting with CPU and RAM, following up with GPU, and than with other parts. When it makes sense, we’ll take a quick look on consumer versus enterprise/professional solutions, as consumer choices are sometimes competitive options even in high-end professional segments. At last, we’ll briefly discuss different solutions in obtaining hardware, from building bespoke desktop solutions to selecting task-specific complete configurations/workstations.
Selecting CPU for arch-viz
CPUs, or Central Processing Units are often referenced as the brain of the computer for a reason. For many years, all major render engines were CPU-based only, meaning, that selecting CPU was likely the most important choose in hardware selection, and – in mostly CPU based (e.g. in 3ds Max and Corona Renderer based) pipelines, still it is. When speaking of CPU-based rendering, processors’ core frequency, and core count are the most important parameters. Rendering utilizes all threads at maximum performance. However, from 3D applications’ performance, or GPU-based rendering point of view, processor’s single thread performance is what matters the most. In latter scenarios, think of CPU’s single-thread performance as an enabler, rather than an accelerator. Processor must be ‘good enough’ to prepare and transmit data to the GPU quickly enough, to make the latter work at its maximum power, but – generally speaking – doesn’t have to do more than that.
/…/ from 3D applications’ performance, or GPU-based rendering point of view, processor’s single thread performance is what matters the most.
Intel and AMD are the largest brands producing desktop microprocessors by far, competing within the same segments. In consumer or desktop segment – which I suggest for individuals or smaller studios to search within too – Intel used to dominate for many years. However, recent years’ AMD Ryzen product line became so efficient that it already clearly delivers better value per dollar in CPU rendering, and all heavily multi-threaded pipelines. On the other hand, Intel’s high-end consumer CPUs – members of i7 and i9 product line – are likely still better in single-core performance, which is central in accelerating GPU, as such, likely being superior in GPU-weighted, e.g. real-time rendering pipelines.
In enterprise, or workstation segment – though AMD is working hard against this – Intel dominates the market by far, with its XEON product line. From our perspective, when compared to consumer segment, the biggest difference is that most XEON products are enabled to be used in multi-CPU (e.g. dual-CPU) configurations, enabling us to not only utilize one, but two or more multi-core CPUs in just one machine, gaining incredible performance advantages in certain scenarios. AMD’s enterprise series “EPYC” does the same although XEON has the upper hand in market share.
Selecting RAM for arch-viz
RAM stands for Random Access Memory. On a basic level, what it does is transmitting data to the CPU very quickly. While rendering, the rendering engine (and as such the CPU) needs data to work with (e.g. textures polygons etc.), to perform its calculations. If the data is there in time, CPU can work on rendering at 100 percent, which is the ideal scenario. However, when RAM is filled (e.g. because of the scene you’re working with is too complex, there are too many applications open at a time, or both), CPU has to receive data to work with from your paging file on your HDD or SSD instead of your RAM, which enables much slower data transfer, and results in CPU throttling. When this happens, the latter is no longer able to work at its full power. Similarly to the above, think of RAM as an enabler, rather than an accelerator.
When selecting RAM capacity for arch-viz, your primary goal is to prevent the aforementioned CPU throttling effect, caused by filled RAM. Speaking of a consumer configuration, and as a general rule of thumb, 32 GB RAM should be enough, yet required today in most pipelines, and in small to medium size arch-viz projects. Another important parameter of RAM is frequency. The higher the frequency, the faster RAM transmits data to the processor, which results in shorter loading times e.g. when starting a render.
In enterprise or workstation segment RAM can be ECC-enabled, which comes with negligible benefits for arch-viz. Another difference is that enterprise or workstation CPUs and motherboards support much larger RAM capacities – e.g. 512 GB or more – being beneficial only in some very specific scenarios. Keep in mind that the type of RAM you can select is hugely dependent on the CPU and the motherboard, so be careful when making your decision.
Selecting GPU for arch-viz
GPUs or Graphics Processing Unit evolved to support CPUs, and even supersede CPUs in graphics specific tasks, primarily to enable more pleasing graphics in computer gaming. For many years in professional 3D software, GPUs’ almost solely role was to enable smooth viewport navigation, and as such, 3D modeling and texturing. In recent years though, arch-viz inherited lots of achievements from AAA computer game industry. Modern 3D software utilizes GPU for much more than viewport navigation, from rendering to more specific tasks such as AI-based denoising (e.g. NVIDIA’s OptiX Denoiser) etc.
When your 3D pipeline is entirely based on a more conventional 3D software like 3ds Max or Cinema 4D, and strictly on a CPU-based rendering engine (e.g. Corona Renderer) only, you still likely don’t need anything better than a solid entry-level consumer video card, as I wrote this year earlier on my blog. In every other scenario though, you’ll greatly benefit from a powerful card, especially if you utilize a real-time render engine in your pipeline. Since real-time software is designed to be able to utilize GPU at 100 percent almost all the time, the better performance will simply result in higher frame rates. GPUs have dedicated RAM, that enables processing unit to be fed with data in time, similarly to the above-described CPU and RAM relationship. The larger your video RAM is, the farther you can push your 3D scene’s complexity, and still be able rendering it.
When speaking of raw GPU power, AMD’s products can be compared to the market leading NVIDIA’s ones – especially in lower-end segments. However, your GPU brand choice shouldn’t be based on performance only. Software solutions can sometimes be vendor-dependent, only compatible with one GPU brand or the other. New major technical achievements within arch-viz though will likely be compatible with NVIDIA products first in the years to come. Think of the amazing NVIDIA OptiX Denoiser, a great solution recently implemented into many 3D software, compatible only with NVIDIA hardware. NVIDIA also has hardware-accelerated ray tracing in their RTX video cards, which is a new technology that already has some benefits in certain 3D software. From these points of view, selecting a higher-end NVIDIA graphics card seems like a safer choice.
Both AMD and NVIDIA have their consumer and professional product line-ups. AMD has consumer Radeon, and professional Radeon Pro series, while NVIDIA has consumer GeForce, and professional Quadro series. Because of real-time visualization (where powerful GPUs really pay off) relies heavily on computer gaming-like technologies, choosing higher-end NVIDIA consumer cards even in professional/enterprise segments is completely a valid choice. NVIDIA also has launched Studio drivers for GeForce products, bringing some of Quadro line’s former software advantages to its consumer line.
Selecting other computer parts, and wrapping up
The already-discussed computer parts have much larger importance in arch-viz workflows than other components, however there are some other aspects to be aware of. First, arch-viz and rendering is processing-intensive in general, which generates heat that must be managed. To keep heat in control, cooling solutions must be wisely selected. Data reading and writing speeds are also important not only in arch-viz, but in everything that’s done on PC. Choosing fast SSDs whenever possible to minimize reading and writing times – like software-loading, or saving of files – is also a good idea (even critical for storage that runs software today). Other than that, hardware compatibility must also be considered, especially when building a PC on your own.
Regarding compatibility, the most important computer part may be the motherboard. In the light of the above, this part has determinative parameters starting with the number and type of CPU sockets, and the same for RAM slots. Another important specification is, how much RAM a motherboard supports. A mainboard also defines how many, and – physically by its format – how large GPUs you can put into your machine. Connectivity features sound like obvious, but a solid selection of ports can also come in handy in a professional environment. Moreover, modern motherboards often come with excellent software called UEFI, through that you can fine-tune and optimize hardware components’ behaviour if you wish. Despite motherboard being probably the most fundamental computer part, when building a configuration for arch-viz I suggest you think about CPU and GPU first, and choose a matching mainboard second.
Also, power supply has a crucial role, especially when we talk about power-hungry CPUs or – even more so – GPUs. When choosing a PSU, always try to estimate energy consumption levels of your configuration (there are excellent online tools for that), and choose a reputable one, that can easily supply more power. Also pay attention to the power connectors it comes with – different GPUs require different types of plugs.
I hope the above guidelines may help you make more informed hardware choices in terms of arch-viz, whatever your software-, or business requirements are! Don’t forget, you not only can apply the ideas for building your bespoke arch-viz PC, but also for selecting the right brand workstation from companies like Dell, HP, Lenovo, or even more specialized vendors like BOXX Technologies or CADnetwork based on your requirements. Finding out and researching what you really need is a great adventure, I hope you have fun with!