Рендеринг за допомогою графічного процесора відеокарти – GPU Rendering

GPU рендеринг робить можливим використання вашої графічної відеокарти для рендерингу, замість центрального процесора CPU. Це може прискорювати рендеринг, оскільки сучасні GPU розроблені для обчислення великої кількості даних. З іншого боку, вони також мають деякі обмеження для рендерингу складних сцен через більш обмежену пам’ять та проблеми із взаємодією при використанні однієї й тієї ж відеокарти для показу та рендерингу.

To enable GPU rendering, go into the Preferences ‣ System ‣ Cycles Render Devices, and select either CUDA, OptiX or OpenCL. Next, you must configure each scene to use GPU rendering in Properties ‣ Render ‣ Device.

Примітка

GPU rendering is only supported on Windows and Linux; macOS is currently not supported.

Підтримуване Устаткування – Supported Hardware

Blender supports different technologies to render on the GPU depending on the particular GPU manufacture.

Nvidia

CUDA and OptiX are supported for GPU rendering with Nvidia graphics cards.

CUDA

CUDA requires graphics cards with compute capability 3.0 and higher. To make sure your GPU is supported, see the list of Nvidia graphics cards with the compute capabilities and supported graphics cards.

Примітка

Unsupported Features:

  • Open Shading Language

  • Advanced volume light sampling to reduce noise

OptiX

OptiX requires graphics cards with compute capability 5.0 and higher. To make sure your GPU is supported, see the list of Nvidia graphics cards OptiX works best on RTX graphics cards with hardware ray tracing support (e.g. Turing and above).

Примітка

Unsupported Features:

  • Open Shading Language

  • Advanced volume light sampling to reduce noise

  • Простеження Розгалуженого Шляху – Branched Path Tracing

AMD

OpenCL is supported for GPU rendering with AMD graphics cards. Blender supports GPU rendering on graphics cards with GCN generation 2 and above. To make sure your GPU is supported, see the list of GCN generations with the GCN generation and supported graphics cards.

On Windows and Linux, the latest Pro drivers should be installed from the AMD website.

Примітка

Unsupported Features:

  • Open Shading Language

  • Advanced volume light sampling to reduce noise

Intel

OpenCL is supported for GPU rendering with Intel graphics cards. Blender supports GPU rendering on Intel Iris and Xe graphics cards. Currently OpenCL rendering on Intel only works on Windows and Linux, macOS is currently is unsupported.

Примітка

Unsupported Features:

  • Open Shading Language

  • Advanced volume light sampling to reduce noise

Часто Задавані Питання – Frequently Asked Questions

Чому Blender не реагує під час рендерингу?

While a graphics card is rendering, it cannot redraw the user interface, which makes Blender unresponsive. We attempt to avoid this problem by giving back control over to the GPU as often as possible, but a completely smooth interaction cannot be guaranteed, especially on heavy scenes. This is a limitation of graphics cards for which no true solution exists, though we might be able to improve this somewhat in the future.

Якщо можливо, найкраще встановити більше, ніж одну GPU, на комп’ютер, використовуючи одну з них для показу, а іншу чи інші – для рендерингу.

Чому сцена, що рендериться на CPU, не рендериться на GPU?

There maybe be multiple causes, but the most common one is that there is not enough memory on your graphics card. Typically, the GPU can only use the amount of memory that is on the GPU (see below for more information). This is usually much smaller than the amount of system memory the CPU can access. With CUDA and OptiX devices, if the GPU memory is full Blender will automatically try to use system memory. This has a performance impact, but will usually still result in a faster render than using CPU rendering. This feature does not work for OpenCL rendering.

Чи можна використовувати одночасно кілька GPU для рендерингу?

Так, перейдіть у Preferences ‣ System ‣ Compute Device Panel та сконфігуруйте це там, як потрібно.

Чи може одночасно кілька GPU збільшити доступну пам’ять?

Typically, no, each GPU can only access its own memory, however, some GPUs can share their memory. This is can be enabled with Distributed Memory Across Devices.

What renders faster, Nvidia or AMD, CUDA, OptiX or OpenCL?

This varies depending on the hardware used. Different technologies also have different compute times depending on the scene tested. For the most up to date information on the performance of different devices, browse the Blender Open Data resource.

Повідомлення про Помилки – Error Messages

У випадку проблем, переконайтеся, що інсталювали офіційні графічні драйвери з вебсайту NVIDIA або AMD, чи через менеджер пакунків на Linux.

Unsupported GNU version

On Linux, depending on your GCC version you might get this error. See the Nvidia CUDA Installation Guide for Linux for a list of supported GCC versions. There are two possible solutions to this error:

Використання альтернативного компілятора

Якщо ви маєте старіший інстальований GCC, що є сумісним з інстальованою версією інструментарію CUDA, то ви можете використати його замість стандартного компілятора. Це робиться шляхом установлення змінної середовища CYCLES_CUDA_EXTRA_CFLAGS при запуску Blender.

Запустіть Blender з командного рядка наступним чином:

CYCLES_CUDA_EXTRA_CFLAGS="-ccbin gcc-x.x" blender

(Підставте ім’я або шлях сумісного компілятора GCC).

Вилучення перевірок сумісності

If the above is unsuccessful, delete the following line in /usr/local/cuda/include/host_config.h:

#error -- unsupported GNU version! gcc x.x and up are not supported!

Це дозволить Cycles успішно компілювати ядро рендерингу CUDA при першому разі, коли він намагається використати ваш GPU для рендерингу. Як тільки це ядро вибудується успішно, то ви зможете запустити Blender, як звичайно, та ядро CUDA, як і раніше, буде використовуватися для рендерингу.

CUDA Error: Kernel compilation failed – Помилка CUDA: Збій компіляції ядра

Ця помилка може трапитися, якщо ви маєте нову відеокарту від Nvidia, що ще не підтримується даною версією Blender’а та встановленим набором інструментів CUDA. У цьому випадку Blender може намагатися динамічно будувати ядро для вашої відеокарти та дати збій.

У такому випадку ви можете:

  1. Check if the latest Blender version (official or experimental builds) supports your graphics card.

  2. Якщо ви вибудовуєте Blender самостійно, то спробуйте звантажити та інсталювати найновіший Інструментарій CUDA для розробників.

Зазвичай, користувачам не потрібно інсталювати Інструментарій CUDA, оскільки Blender поставляється з попередньо компільованими ядрами.

CUDA Error: Out of memory – Помилка CUDA: Недостатньо пам’яті

This usually means there is not enough memory to store the scene for use by the GPU.

Примітка

One way to reduce memory usage is by using smaller resolution textures. For example, 8k, 4k, 2k, and 1k image textures take up respectively 256MB, 64MB, 16MB and 4MB of memory.

The Nvidia OpenGL driver lost connection with the display driver – Драйвер OpenGL Nvidia втратив зв’язок з драйвером дисплею

Якщо GPU використовується одночасно для показу і рендерингу, то Windows має ліміт часу, під час якого GPU може здійснити обчислення рендера. Якщо ви маєте особливо важкі сцени, то Cycles може брати надто багато часу для GPU. Зменшення розміру плиток Tile Size на панелі Performance може полегшити цю проблему, але єдине реальне рішення – використовувати окремі відеокарти для показу та рендерингу.

Another solution can be to increase the time-out, although this will make the user interface less responsive when rendering heavy scenes. Learn More Here.

CUDA error: Unknown error in cuCtxSynchronize() – Помилка CUDA: Невідома помилка в cuCtxSynchronize()

Невідома помилка може мати багато причин, але однією з можливих є перепочинок – time-out. Дивіться вище відповідь про можливі рішення.