Renderowanie w Arnoldzie na GPU



Opublikowane: 08 kw. / 2019 Kategoria: Pomoc techniczna - grafika 3D i wizualizacje, Tagi: ,

W silniku renderującym Arnold dodano możliwość renderowania GPU. Póki co opcja dostępna jest w wersji beta, ale efekty mogą być obiecujące. Sprawdziliśmy!


Testy beta renderingu GPU w Arnoldzie 

W poprzednim artykule zamieściliśmy test Arnold Render w 3ds Max ale bazując na CPU. Co w przypadku gdy tą samą scenę wyrenderujemy na GPU? Pierwsze odpalenie i szybkie poszukiwanie możliwości zmiany z CPU na GPU. W zakładce Arnold Render nie znalazłem, ale jak się okazało mamy taką możliwość w zakładce System. Wybieramy CPU czy GPU i w przypadku GPU zaznaczamy kartę graficzną (bądź karty w przypadku multi-gpu).

Poprzedni test był robiony w 3ds Max 2019, więc zacznę najpierw od tej samej wersji. Później sprawdzimy czasy mniej rozbudowanej sceny ale w Maya 2019.

Specyfikacja komputera:

  • Xeon W – 2123 3.60GHz (4 rdzenie/8 wątków)
  • Quadro P2000 5GB
  • 16GB Pamięci ram
  • Windows 10 Professional

Na jednym z komputerów z kartą graficzną GTX 1050 2GB – render w ogóle nie wystartował podejrzewam, że ze względu na mała ilość pamięci karty graficznej. Taka sama przypadłość występowała w V-Ray GPU.


Przy ustawieniach defaultowych Camera (AA) – 3 po 30 min scena wygląda tak:

arnold rendering 1


Przy ustawieniach defaultowych z CAMERA (AA) – 20 po 30min scena wygląda tak :

arnold rendering 2


arnold rendering 3

Jakub Baran | PCC Polska (3ds Max – Arnold CPU) Finalny render czas 00:23:57


Mniej rozbudowana scena w Maya Arnold CPU (model testowy pochodzi ze strony SolidAngle) :

CPU Camera  (AA) – 5 czas 00:08:15


GPU Camera (AA) – 10 czas 00:05:12

arnold rendering 5


Podsumowanie

Jak widać Arnold GPU świetnie nadaje się w momencie gdy chcemy zrobić szybki podgląd danego projektu. W przypadku prostych scen spisuje się rewelacyjnie. Zarówno czasowo, jakościowo i nie widać różnicy między CPU a GPU. W momencie gdy mamy sporo obiektów, sporą ilość źródeł oświetlenia to występuje straszny szum (Noise) i czasy renderów GPU nie są aż tak znacząco szybsze niż na samym CPU. W drugiej próbie podbiłem Camera (AA) do 20 – poprawiło to trochę ilość szumów, ale i tak są widoczne. Cieszy fakt, że Arnold GPU nie przekłamuje aż tak bardzo odbić i innych bardziej zaawansowanych obliczeń.  Można zauważyć, że mapy Displacement czy Normal mają słabszy efekt niż w przypadku CPU i oświetlenie wygląda inaczej – głównie te pochodzące z HDRi. A przy prostej scenie nie widać różnicy. Super sprawą renderowania na GPU jest, to że możemy swobodnie pracować przy scenie, bądź robić inne rzeczy na komputerze. W momencie gdy renderujemy przy pomocy CPU, trzeba wyłączyć w programie część tzw. threads, żeby móc kontynuować pracę nad projektem.

Wszystko oczywiście zależy od tego jaki procesor czy kartę graficzną posiadamy. Test robiony na Quadro P2000 czyli karta, która bardziej sprawdza się programach mechanicznych do obliczeń. GTX 1060 i wyżej na pewno osiągnie lepsze wyniki i efekty w Maya i 3ds Max z Arnold’em.

Podsumowując : gdyby poprawić Noise i optymalizację, byłoby idealnie! Super, że producent działa w tym kierunku i miejmy nadzieję, że z czasem opcja renderingu GPU w Arnold’zie będzie porównywalna do np.  Redshift’a.  Jak na wersję BETA silnik Arnold zaliczył świetny, ale nie idealny start! Już nie mogę się doczekać tego co otrzymamy w finalnej wersji i w późniejszych. Trzymajmy kciuki!

Autor: Jakub Baran | PCC Polska