63

Accelerating Cycles using NVIDIA RTX

 4 years ago
source link: https://www.tuicool.com/articles/A3uUNjr
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Over the past few months, NVIDIA worked closely with Blender Institute to deliver a frequent user request: adding hardware-accelerated ray tracing to Cycles. To do this, we created a completely new backend for Cycles with NVIDIA OptiX, an application framework for achieving optimal ray tracing performance on NVIDIA RTX GPUs. Now, Cycles can fully utilize available hardware resources to considerably boost rendering performance.

If you’d like to try it out, the source code is currently undergoing review before being merged and is available for anyone to download, build and run. I’ve provided instructions in the linked review .

In this blog, I’ll discuss the technical approach taken, review performance you can expect and share possible a future direction.

What was done?

Cycles today already supports a range of hardware types, including options for both CPU and GPU rendering. To achieve consistent images across the options, most of the rendering code is shared.

NVIDIA OptiX is a domain-specific API designed for accelerating ray tracing. It provides a complete package with programmable ray generation, intersection and shading while using RT Cores on NVIDIA RTX GPUs for accelerating Bounding Volume Hierarchy (BVH) traversal and ray/triangle intersection testing.

Our approach was to implement a new backend to Cycles which uses the OptiX API to manage acceleration structures plus ray intersection with its programmable parts calling into Cycles’ existing code for ray generation and shading.

TheBlender preferences expose this as a new device type, which lists RTX supported GPUs in the system and supports both single and multi-GPU rendering:

2qQRZrm.png!web

Almost all of Cycles GPU-supported features (like hair, volumes, subsurface scattering, motion blur etc.) work with the OptiX backend already, so improving render times is as simple as flipping the switch in the settings.

How much faster is Blender Cycles with RTX?

The new OptiX backend is showing some significant speedups compared to the existing options. Below is a graph showing the render times measured for several Cycles benchmark scenes on a CPU, with CUDA and with OptiX (smaller is better):

MBZBNzz.png!web

These speedups are now also possible in thin and light laptops and mobile workstations. NVIDIA’s RTX Studio laptops feature NVIDIA GeForce and Quadro RTX GPUs and are the first to support real-time ray tracing and advanced AI capabilities.

What else is happening?

The OptiX SDK includes an AI denoiser that uses an artificial-intelligence-trained network to remove noise from rendered images resulting in reduced render times. OptiX does this operation at interactive rates by taking advantage of Tensor Cores, specialized hardware designed for performing the tensor / matrix operations which are the core compute function used in Deep Learning. A change is in the works to add this feature to Cycles as another user-configurable option in conjunction with the new OptiX backend.

This can be especially useful when doing viewport rendering, so stay tuned!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK