Techgage logo

Exploring CPU & GPU Rendering Performance With KeyShot 9

Luxion KeyShot Logo

Date: January 1, 2020
Author(s): Rob Williams

Luxion’s KeyShot 9 brings a lot of good stuff to the table, but of most interest to us is the introduction of not just GPU rendering, but also GPU accelerated denoising. In this article, we’re going to be taking a look at performance from both CPU and GPU rendering, and also talk about some quirks that you may encounter when shifting from CPU to GPU.



Exploring Photogrammetry GPU Performance With KeyShot 9

During its life leading up to KeyShot 9, Luxion’s popular design and rendering tool revolved its computation around the CPU, relying on the GPU only to push the image to the screen. Things have changed with the latest release, as Luxion has decided to join a growing list of companies which have adopted NVIDIA’s OptiX ray tracing engine – and NVIDIA GPUs for rendering in general.

The focus of KeyShot 9 heavily revolves around NVIDIA’s RTX series of graphics cards and features, which is for good reason. With RTX’s RT cores, ray tracing can be greatly accelerated, while the same kind of boost can be seen to AI denoising thanks to the inclusion of Tensor cores. All around, there’s a lot of GPU love in this release.

Bugatti Chiron KeyShot 9 Render (Credit Nils Piirma)
Bugatti Chiron render in KeyShot 9 (Credit: Nils Piirma)

There’s a lot more that’s new to KeyShot 9 than just GPU rendering. We’d encourage a look at the What’s New page for a deeper look at things like the web configurator, 3D model library, animation curve control, and contoured textures. One of the coolest additions is RealCloth, adding literal threads to a computationally highly-threaded process.

Luxion KeyShot 9's RealCloth Feature

It feels like KeyShot is going to get a sudden burst of love from the fashion industry, because RealCloth is an effective and highly flexible material editor. With it, you can create a huge variety of woven designs that can be tweaked many different ways. These resulting materials would then be used on scene objects, like clothing:

KeyShot 9 with RealCloth

There’s a ton of detail in these generated materials, so the CPU and GPU will be put to great use to resolve all noise out of the final render. The blue cloth we rendered in the previous UI screenshot took about ten minutes on an RTX 2070 SUPER to resolve to the point where we couldn’t spot noise anymore. But of course, that’s with the material close-up at a big resolution. Applied to an normal-sized object, it would not take as long to render.

GPU Rendering Considerations

As mentioned earlier, KeyShot 9 includes a denoiser that can take advantage of artificial intelligence to quickly resolve a scene for really quick feedback after a scene or camera has changed. While using only the GPU will take a minute or two to resolve to a reasonable point, denoising, especially with Tensor cores available, can happen in just a couple of seconds.

The screenshot below will highlight what this particular render looked like after three seconds. We highly recommend checking out the full shot on a desktop monitor, as detail differences could be difficult to see properly on a phone (here’s the lossless PNG).

KeyShot 9 - GPU Denoise (Top) vs GPU Only (Bottom)

In all of our testing, the denoising feature in KeyShot has been really effective, although the nature of the AI design means that it’s not going to generate a perfect representation of a final render – but it’s close enough to be well-worth using when you want the quickest feedback while tweaking.

Of the five KeyShot scenes we have on-hand to use, three of them had slight issues with the application’s GPU mode. One creates¬†a black hole effect, while another has issues with lights:

Luxion KeyShot 9 - CPU vs GPU Render Anomaly
Some projects might require tweaking to the scene to cooperate with GPU mode

In this shot, the CPU mode is on the left, and the scene is rendered correctly. The GPU mode on the right is freaking out a bit, with weird light bursts littering the scene. In the end, we stuck to two projects that behaved on all GPUs – as long as there was sufficient memory. Our simplest test is of a microphone, and it rendered without issue on every GPU we tested. The secondary Porsche 918 Spyder project proved to be a bit too much for most GPUs, though, or at least those with less than 11GB of memory. Insufficient GPUs were greeted to a memory limitation error:

Luxion KeyShot GPU Rendering Error
Some projects might be quickly starved for memory on lower-end GPUs

Chances are that the render settings could have been changed to fix this problem, but we only have so much time in the day to sink into problem-solving. We’ll certainly be revisiting these same projects next time we test, or will try to replace them with other projects that behave a bit better with the GPU mode. This problem was seen with our first-look at the Blender 2.81 alpha with OptiX enabled, and is an issue where the GPU can’t use system memory to complete a scene. A future update to Blender fixed this issue, so we expect to see KeyShot roll out an update to fix this later.

Performance Testing KeyShot 9

Performance-testing KeyShot is ridiculously easy, because you merely load the project, and hit render. Currently, the GPU mode can’t use custom controls in the rendering settings, which means that our CPU and GPU tests are not comparable, although we’ll look into syncing them for the next round of testing.

Techgage Workstation Test Systems
ProcessorAMD Ryzen Threadripper 3970X (32C/64T; 3.7GHz)
AMD Ryzen Threadripper 3960X (24C/48T; 3.8GHz)
AMD Ryzen 9 3950X (12C/24T; 3.8GHz)
AMD Ryzen 9 3900X (12C/24T; 3.8GHz)
AMD Ryzen 7 3700X (8C/16C; 3.6GHz)
AMD Ryzen 5 3600X (6C/12C; 3.8 GHz)
AMD Ryzen 5 3400G (4C/8T; 3.7 GHz)
Intel Core i9-10980XE (18C/36T; 3.0GHz)
Intel Core i9-9900KS (8C/16T; 4.0 GHz)
Intel Core i7-8700K (6C/12T; 3.7 GHz)
MotherboardAMD TRX40: ASUS Zenith II Extreme
AMD X570: Aorus X570 MASTER
AMD B450: Aorus B450 Pro WiFi
Intel Z390: ASUS ROG STRIX Z390-E GAMING
Intel X299: ASUS ROG STRIX X299-E GAMING
MemoryCPU Testing: Corsair Dominator (CMT64GX4M4Z3600C16)
4x16GB; DDR4-3600 16-18-18 *
* 8700K and 3400G had to be tested at DDR4-3200 16-18-18
GPU Testing: G.SKILL Flare X (F4-3200C14-8GFX)
4x8GB; DDR4-3200 14-14-14
GraphicsNVIDIA TITAN RTX (24GB, GeForce 441.66)
NVIDIA TITAN Xp (12GB, GeForce 441.66)
NVIDIA GeForce RTX 2080 Ti (11GB, GeForce 441.66)
NVIDIA GeForce RTX 2080 SUPER (8GB, GeForce 441.66)
NVIDIA GeForce RTX 2070 SUPER (8GB, GeForce 441.66)
NVIDIA GeForce RTX 2060 SUPER (8GB, GeForce 441.66)
NVIDIA GeForce RTX 2060 (6GB, GeForce 441.66)
NVIDIA GeForce GTX 1080 Ti (11GB, GeForce 441.66)
NVIDIA GeForce GTX 1660 Ti (6GB, GeForce 441.66)
NVIDIA Quadro RTX 6000 (24GB, Quadro 441.66)
NVIDIA Quadro RTX 4000 (8GB, Quadro 441.66)
NVIDIA Quadro P2000 (5GB, Quadro 441.66)
ChassisAMD TRX40: Cooler Master MasterCase H500P Mesh
AMD X570: Fractal Design Define C
AMD B450: Enermax Equilence
Intel Z390: NZXT S340 Elite
Intel X299: Corsair Carbide 600C
CoolingAMD TRX40: NZXT Kraken X62
AMD X570: Corsair Hydro H100i PRO
AMD B450: AMD Wraith Spire
Intel Z390: Corsair Hydro H100i V2
Intel X299: NZXT Kraken X62
Et ceteraWindows 10 Pro build 18363 (1909)
All GPU tests were conducted on an Intel Core i9-10980XE 18-core test PC.
All product links in this table are affiliated, and support the website.

As with our look at RealityCapture¬†earlier this week, we’re including a range of GPUs in our testing from both the GeForce and Quadro series. The modest Quadro P2000, with 5GB of VRAM, will prove to be a good test of how low you will want to go. In addition to the top-end TITAN RTX, the rest of the current GeForce RTX lineup is also included, along with the last-gen top dog GTX 1080 Ti, and the current top Turing-based GTX, the 1660 Ti.

CPU Rendering Performance

Luxion KeyShot 9 - Character CPU Render Performance
Luxion KeyShot 9 - Room CPU Render Performance
Luxion KeyShot 9 - Kitchen CPU Render Performance
Luxion KeyShot 9 - Microphone CPU Render Performance
Luxion KeyShot 9 - Porsche 918 Spyder CPU Render Performance

After looking at the CPU rendering results from five different projects, we can safely say one thing: this software scales extremely similarly from one project to the next. For this article, we wanted to be more thorough than usual to see how performance changes, but overall, the scaling we see is really consistent.

The beauty of a highly-scalable rendering application like KeyShot is that you usually get what you pay for in terms of processing horsepower. The software of course has no problems taking full advantage of the 32 cores on AMD’s Ryzen Threadripper 3970X. Likewise, even the smaller CPUs offer decent performance in use, but it doesn’t take much extra spend to make a massive difference in performance sometimes.

We’d in no way suggest using KeyShot equipped with fewer than eight cores, and as the 3400G result highlights, you’re going to have a really bad time if you plan to go super low-end (which would be an odd pairing for a $1,000 design suite revolving entirely around live-rendering).

At this time, KeyShot does not offer heterogeneous rendering between the CPU and GPU, but if that happens in time, then both of the processors could factor into your purchasing decision pretty heavily. With GPU support being so new, we’re not sure we can be safe enough yet to say that you’d be safe to quickly add a big GPU to replace your CPU.

GPU Rendering Performance

Luxion KeyShot 9 - Microphone GPU Render Performance
Luxion KeyShot 9 - Porsche 918 Spyder GPU Render Performance

In figuring out our GPU render tests for KeyShot, we made the mistake of using a top-end GPU throughout it all, not considering that lower-end GPUs could run into some special issues. Well, even on our TITAN RTX, we had some wonky behavior in select projects, but as mentioned earlier, it could be that tweaks could be easily made to solve the issues – but we only have so much time to soak into something.

The microphone project is the simplest of the bunch we have, so it’s no surprise that it rendered fine across the entire GPU stack. The Quadro P2000 is looking really weak against the rest of the stack, which isn’t a surprise, but good assurance that you can really cripple performance when you buy the wrong hardware for a task. If it wasn’t for that P2000 result, the handful of results above it may have seemed really weak on their own.

And speaking of those results, things get quite interesting here. We see both the TITAN Xp and 1080 Ti fall near the back of the pack in the microphone render, and a mile behind in the allegedly more grueling Porsche 918 render. What we’re effectively seeing is a new-gen mainstream 1660 Ti coming close to the performance of the last-gen top-end 1080 Ti.

There are two super-clear things to derive from these results: GPU rendering is best seen with NVIDIA’s RTX series of GPUs, and having more than 8GB of memory seems like a great idea. It’s worth noting that KeyShot supports multiple GPUs, although that’s not something we tested here. One caveat to be aware of: NVLink memory aggregation is not officially supported, but performance will still scale.

Final Thoughts

Even though rendering to the GPU is one of the biggest features of KeyShot 9, we don’t feel safe at this point to assume that everyone should consider putting more weight behind their GPU purchase than their CPU one. For long-time users, it’s probably best to stick with CPU for now if building a new rig, and let the GPU transition flesh out a little bit.

There is a subtle perk about GPU acceleration, though, and that’s the ability for users to run more than one copy of KeyShot at a time. If one client is set to the CPU, and the other to the GPU (assuming both are powerful), each one should feel like it’s running at native speed, and remain unaffected by the other.

Luxion KeyShot 9 Toy Car Render

Throughout much of its marketing, Luxion says that KeyShot 9 lets you use the CPU and GPU to best tackle your workload, but the “and” doesn’t mean there’s support for hybrid rendering. That would be great to see in time, but development can only move so fast – and the addition of GPU rendering in KeyShot alone is a massive change. There was once a time when many thought the GPU wouldn’t ever replace the CPU for final renders, yet it seems certain that will happen with the amount of support behind GPU rendering in recent years.

If you have feedback on our testing, or need further assurance of the right direction to take with your next build for KeyShot use, hit us up in the comments!

Copyright © 2005-2020 Techgage Networks Inc. - All Rights Reserved.