GPU prekresľovanie

GPU prekresľovanie umožňuje používať grafickú kartu na prekresľovanie namiesto CPU. To môže zrýchliť prekresľovanie, pretože moderné grafické procesory sú navrhnuté tak, aby vykonávali pomerne veľa výpočtov. Na druhej strane majú aj určité obmedzenia pri prekresľovaní zložitých scén kvôli obmedzenejšej pamäti a problémy s interaktivitou pri používaní tej istej grafickej karty na zobrazovanie a prekresľovanie.

Na povolenie prekresľovania GPU, prejdite do Predvoľby ‣ Systém ‣ Zariadenia prekreslenia Cycles a vyberte buď CUDA, OptiX, HIP, oneAPI alebo Metal. Potom musíte v ponuke Vlastnosti ‣ Prekreslenie ‣ Zariadenia nakonfigurovať každú scénu na používanie prekresľovania grafickým procesorom GPU.

Technológie prekresľovania

Blender podporuje rôzne technológie prekresľovania na GPU v závislosti od konkrétneho výrobcu GPU a operačného systému.

CUDA – NVIDIA

CUDA je podporovaná v systémoch Windows a Linux a vyžaduje grafické karty Nvidia s výpočtovou kapacitou 3.0 a vyššou. Ak sa chcete uistiť, či je váš grafický procesor podporovaný, pozrite si zoznam grafických kariet Nvidia s výpočtovými schopnosťami a podporovanými grafickými kartami.

OptiX – NVIDIA

OptiX je podporované v systémoch Windows a Linux a vyžaduje grafické karty Nvidia s výpočtovou kapacitou 5.0 a vyššou a verziu ovládača aspoň 470. Ak sa chcete uistiť, či je váš grafický procesor podporovaný, pozrite si zoznam grafických kariet Nvidia.

OptiX využíva hardvérovú akceleráciu sledovania lúčov v grafických kartách RTX na zvýšenie výkonu.

HIP – AMD

HIP je podporovaný v systémoch Windows a Linux a vyžaduje grafickú kartu AMD s architektúrou Vega alebo novšou. Podporované sú diskrétne GPU aj APU.

Podporované grafické procesory zahŕňajú:

  • Rad Radeon RX Vega (okrem Radeonu VII)

  • Rad AMD Radeon RX 5000

  • Rad AMD Radeon RX 6000

  • Radeon RX 7000 Series

  • Radeon Pro WX 9100

  • Rad AMD Radeon Pro W6000

Minimálne verzie ovládačov:

  • Windows: Radeon Software 21.12.1 alebo Radeon PRO Software 21.Q4

  • Linux: Radeon Software 22.10 or ROCm 5.3

Please refer to AMD’s website for more information about AMD graphics cards and their architectures.

On Windows, experimental hardware ray-tracing support is available with the most recent drivers. This can be enabled in the preferences. However there are currently known issues regarding hair rendering and degenerate triangle shapes.

The Clip extension mode in Uzol Obrázok textúry is not supported for HIP.

oneAPI – Intel

oneAPI is a computation library that is supported on Windows and Linux and requires a Intel® Arc™ graphics card with the Xe HPG architecture. Hardware acceleration for ray-tracing is supported.

Podporované grafické procesory zahŕňajú:

  • Rad Intel® Arc™ A

Minimálne verzie ovládačov:

  • Windows: Intel Graphics Driver XX.X.101.4314

  • Linux: intel-level-zero-gpu package 1.3.25812, typically available through the intel-compute-runtime package XX.XX.25812

Viac informácií o grafických kartách Intel a ich architektúrach nájdete na webe spoločnosti Intel.

Metal – Apple (macOS)

Metal je podporovaný na počítačoch Apple s grafickými kartami Apple Silicon, AMD a Intel. Systém macOS 13.0 alebo novší sa vyžaduje na podporu všetkých funkcií a grafických kariet.

Light Trees and Shadow Caustics are not supported when using an AMD graphics card with Metal.

Limity

Často kladené otázky

Prečo Blender počas prekresľovania nereaguje?

V starších generáciách GPU dokážu grafické karty iba prekresľovať alebo kresliť užívateľské rozhranie. To môže spôsobiť, že Blender počas prekresľovania nereaguje. Pri náročných scénach môže Blender nereagovať ani na novších GPU, keď využíva veľa pamäte alebo vykonáva náročné tieňovače, vo všeobecnosti je to však menší problém.

Jediným úplným riešením je použitie špecializovaného GPU na prekresľovanie a iného na zobrazovanie.

Prečo sa scéna, ktorá sa prekresľuje na CPU sa neprekresľuje na GPU?

Príčin môže byť viacero, ale najčastejšou je nedostatok pamäte na grafickej karte. Zvyčajne môže grafický procesor využívať len toľko pamäte, koľko je na ňom (viac informácií nájdete v časti Viac grafických procesorov by zvýšilo dostupnú pamäť?). Toto množstvo je zvyčajne oveľa menšie ako množstvo systémovej pamäte, ku ktorej má prístup CPU. Pri zariadeniach CUDA, OptiX, HIP a Metal, ak je pamäť GPU plná, Blender sa automaticky pokúsi použiť systémovú pamäť. Má to vplyv na výkon, ale zvyčajne to stále vedie k rýchlejšiemu vykresľovaniu ako pri použití vykresľovania CPU.

Možno na prekresľovanie použiť viacero GPU?

Áno, prejdite do Predvoľby ‣ Systém ‣ Panel výpočtového zariadenia a nakonfigurujte ho podľa svojich predstáv.

Zvýšilo by viacero GPU dostupnú pamäť?

Zvyčajne nie, každý GPU môže pristupovať len do svojej vlastnej pamäte.

Výnimkou sú grafické procesory NVIDIA pripojené pomocou technológie NVLink, kde môžu viaceré grafické procesory zdieľať pamäť s malými nákladmi na výkon. Toto je možné povolením možnosti Distribuovať pamäť medzi zariadeniami v nastaveniach.

Čo sa vykresľuje rýchlejšie?

To sa líši v závislosti od použitého hardvéru. Rôzne technológie majú aj rôzne výpočtové časy v závislosti od testovanej scény. Najaktuálnejšie informácie o výkone rôznych zariadení nájdete v zdroji Blender Open Data.

Chybové správy

V prípade problémov nezabudnite nainštalovať oficiálne grafické ovládače z webovej stránky výrobcu GPU alebo prostredníctvom správcu balíkov v systéme Linux. Grafické ovládače poskytované výrobcom počítača môžu byť niekedy zastarané alebo neúplné.

Chyba: Nedostatok pamäte

Zvyčajne to znamená, že nie je dostatok pamäte na uloženie scény na použitie grafickým procesorom.

Poznámka

Jedným zo spôsobov, ako znížiť spotrebu pamäte, je použitie textúr s menším rozlíšením. Napríklad 8k, 4k, 2k a 1k textúry obrázkov zaberajú 256 MB, 64 MB, 16 MB a 4 MB pamäte.

Ovládač NVIDIA OpenGL stratil spojenie s ovládačom displeja

Ak sa GPU používa na zobrazovanie aj prekresľovanie, systém Windows má limit na čas, počas ktorého môže GPU vykonávať výpočty prekresľovania. Ak máte obzvlášť náročnú scénu, Cycles môžu zabrať príliš veľa času GPU. Zníženie veľkosti dlaždíc na paneli Výkon môže tento problém zmierniť, ale jediným skutočným riešením je použitie samostatných grafických kariet na zobrazovanie a prekresľovanie.

Ďalším riešením môže byť zvýšenie časového limitu, hoci to spôsobí, že užívateľské rozhranie bude pri prekresľovaní náročných scén menej citlivé. Viac informácií nájdete tu.

Nepodporovaná verzia GNU

V systéme Linux sa v závislosti od verzie GCC môže vyskytnúť táto chyba. Zoznam podporovaných verzií GCC nájdete v Nvidia CUDA Installation Guide for Linux. Existujú dve možné riešenia tejto chyby:

Použitie alternatívneho kompilátora

Ak máte nainštalovaný starší kompilátor GCC, ktorý je kompatibilný s nainštalovanou verziou súpravy nástrojov CUDA, môžete ho použiť namiesto predvoleného kompilátora. To sa vykoná nastavením premennej prostredia CYCLES_CUDA_EXTRA_CFLAGS pri spustení programu Blender.

Spustite Blender z príkazového riadku takto:

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

(Nahraďte názov alebo cestu kompatibilného kompilátora GCC).

Odstránenie kontrol kompatibility

Ak sa vyššie uvedené nepodarí, odstráňte nasledujúci riadok v /usr/local/cuda/include/host_config.h:

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

To umožní Cycles úspešne skompilovať jadro prekresľovania CUDA pri prvom pokuse o použitie vášho GPU na prekresľovanie. Po úspešnom zostavení jadra môžete Blender spustiť ako zvyčajne a jadro CUDA sa bude naďalej používať na prekresľovanie.

Chyba CUDA: Kompilácia jadra zlyhala

Táto chyba sa môže vyskytnúť, ak máte novú grafickú kartu NVIDIA, ktorá ešte nie je podporovaná verziou programu Blender a súborom nástrojov CUDA, ktoré ste nainštalovali. V takom prípade sa Blender môže pokúsiť dynamicky zostaviť jadro pre vašu grafickú kartu a zlyhá.

V tomto prípade môžete:

  1. Skontrolujte, či najnovšia verzia Blenderu (oficiálna alebo experimentálna zostava) podporuje vašu grafickú kartu.

  2. Ak si Blender zostavujete sami, skúste si stiahnuť a nainštalovať novšiu sadu vývojárskych nástrojov CUDA.

Užívatelia zvyčajne nemusia inštalovať sadu nástrojov CUDA, pretože Blender sa dodáva s predkompilovanými jadrami.