Рендеринг за допомогою графічного процесора відеокарти – GPU Rendering¶
GPU рендеринг робить можливим використання вашої графічної відеокарти для рендерингу, замість центрального процесора CPU. Це може прискорювати рендеринг, оскільки сучасні GPU розроблені для обчислення великої кількості даних. З іншого боку, вони також мають деякі обмеження для рендерингу складних сцен через більш обмежену пам’ять та проблеми із взаємодією при використанні однієї й тієї ж відеокарти для показу та рендерингу.
To enable GPU rendering, go into the
, and select either CUDA, Optix or OpenCL. Next, you must configure each scene to use GPU rendering in .Підтримуване Устаткування – Supported Hardware¶
Blender підтримує дві різні технології для рендера на GPU залежно від конкретного виробництва GPU.
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. CUDA GPU rendering is supported on Windows, macOS, and Linux.
Optix¶
For RTX graphics cards with hardware ray tracing support (e.g. Turing), Optix can be used for better performance. Optix support is still experimental and does not yet support all features, see below for details.
Optix requires Geforce or Quadro RTX graphics card with recent Nvidia drivers, and is supported on Windows and Linux.
AMD¶
OpenCL is supported for GPU rendering with AMD graphics cards. Blender supports 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.
AMD OpenCL GPU рендеринг підтримується на Windows та Linux, але не на macOS.
Підтримувані Функції та Обмеження – Supported Features and Limitations¶
CUDA and OpenCL rendering supports all the same features as CPU rendering, except two:
Відкрита Мова Відтінення – Open Shading Language.
Просунутий відбір освітлення об’єму для скорочення шуму.
Optix support is experimental and does not yet support the following features:
Baking
Branched Path Tracing
Ambient Occlusion and Bevel shader nodes
Combined CPU + GPU rendering
Using CPU memory for bigger scenes
Часто Задавані Питання – Frequently Asked Questions¶
Чому Blender не реагує під час рендерингу?¶
Оскільки рендеринг відбувається за допомогою відеокарти, то вона не може перерисовувати інтерфейс користувача, що дає не реагування Blender’а. Ми намагаємося уникати цієї проблеми, даючи назад контроль над GPU так часто, як це можливо, але повністю плавна інтерактивність не може бути гарантована, особливо на важких сценах. Це обмеження відеокарт, для якого немає справжнього рішення, хоча ми можливо зможемо дещо покращити це у майбутньому.
Якщо можливо, найкраще встановити більше, ніж одну GPU, на комп’ютер, використовуючи одну з них для показу, а іншу чи інші – для рендерингу.
Чому сцена, що рендериться на CPU, не рендериться на GPU?¶
There maybe be multiple causes, but the most common is that there is not enough memory on your graphics card. Typically while using GPU rendering the GPU can only use the amount of memory that is on the GPU. This is usually much smaller then the amount of system memory that the CPU uses. In the case that the GPU runs out of memory Blender will automatically try to also use system and GPU memory. This has a performance impact but it is still faster than using CPU rendering. This feature does not work on OpenCL rendering.
Чи можна використовувати одночасно кілька GPU для рендерингу?¶
Так, перейдіть у
та сконфігуруйте це там, як потрібно.Чи може одночасно кілька GPU збільшити доступну пам’ять?¶
Ні, кожна GPU може мати доступ тільки до її власної пам’яті.
What renders faster, Nvidia or AMD, CUDA or OpenCL?¶
Currently Nvidia with CUDA is rendering fastest, but this really depends on the hardware you buy. Currently, CUDA and OpenCL are about the same in the newest mid-range GPUs. However, CUDA is fastest in the respect of high-end GPUs.
Повідомлення про Помилки – Error Messages¶
In case of problems, be sure to install the official graphics drivers from the Nvidia or AMD website, or through the package manager on Linux.
Unsupported GNU version! gcc 4.7 and up are not supported! – Непідтримувана версія GNU! gcc 4.7 та вище не підтримуються!¶
На Linux залежно від вашої версії GCC ви можете отримувати цю помилку. Існує два можливих рішення:
- Використання альтернативного компілятора
Якщо ви маєте старіший інстальований GCC, що є сумісним з інстальованою версією інструментарію CUDA, то ви можете використати його замість стандартного компілятора. Це робиться шляхом установлення змінної середовища
CYCLES_CUDA_EXTRA_CFLAGS
при запуску Blender.Запустіть Blender з командного рядка наступним чином:
CYCLES_CUDA_EXTRA_CFLAGS="-ccbin gcc-x.x" blender
(Підставте ім’я або шлях сумісного компілятора GCC).
- Вилучення перевірок сумісності
Якщо вище не вдалося, то видаліть наступний рядок в
/usr/local/cuda/include/host_config.h
#error -- unsupported GNU version! gcc 4.7 and up are not supported!
Це дозволить Cycles успішно компілювати ядро рендерингу CUDA при першому разі, коли він намагається використати ваш GPU для рендерингу. Як тільки це ядро вибудується успішно, то ви зможете запустити Blender, як звичайно, та ядро CUDA, як і раніше, буде використовуватися для рендерингу.
CUDA Error: Invalid kernel image – Помилка CUDA: Хибне зображення ядра¶
Якщо ви отримуєте цю помилку на Windows 64-bit, то переконайтеся, що використовуєте 64-bit збірку Blender’а, а не 32-bit версію.
CUDA Error: Kernel compilation failed – Помилка CUDA: Збій компіляції ядра¶
This error may happen if you have a new Nvidia graphics card that is not yet supported by the Blender version and CUDA toolkit you have installed. In this case Blender may try to dynamically build a kernel for your graphics card and fail.
У такому випадку ви можете:
Перевірити, чи найостанніша версія Blender’а (офіційна або експериментальна – experimental builds) підтримує вашу відеокарту.
Якщо ви вибудовуєте Blender самостійно, то спробуйте звантажити та інсталювати найновіший Інструментарій CUDA для розробників.
Зазвичай, користувачам не потрібно інсталювати Інструментарій CUDA, оскільки Blender поставляється з попередньо компільованими ядрами.
CUDA Error: Out of memory – Помилка CUDA: Недостатньо пам’яті¶
Це зазвичай означає, що не достатньо пам’яті для зберігання сцени на GPU. Ми можемо наразі рендерити тільки сцени, що вписуються в обсяг пам’яті відеокарти, і він зазвичай менший, ніж можливий для рендерингу на CPU. Детальніше про це дивіться вище.
Примітка
One way to reduce memory usage is by using smaller resolutions for 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¶
Якщо GPU використовується одночасно для показу і рендерингу, то Windows має ліміт часу, під час якого GPU може здійснити обчислення рендера. Якщо ви маєте особливо важкі сцени, то Cycles може брати надто багато часу для GPU. Зменшення розміру плиток Tile Size на панелі Performance може полегшити цю проблему, але єдине реальне рішення – використовувати окремі відеокарти для показу та рендерингу.
Іншим рішенням може бути збільшення цього перепочинку – time-out, хоча це може зробити інтерфейс користувача менш реагованим при рендерингу важких сцен. Детальніше тут – Learn More Here.
CUDA error: Unknown error in cuCtxSynchronize() – Помилка CUDA: Невідома помилка в cuCtxSynchronize()¶
Невідома помилка може мати багато причин, але однією з можливих є перепочинок – time-out. Дивіться вище відповідь про можливі рішення.