Czy rendering na GPU ma sens? Test wydajności kart graficznych w Blender

Czy rendering na GPU ma sens? Test wydajności kart graficznych w Blender

Rendering na GPU w Blender - test

Kolejny artykuł porusza tematykę może trochę odbiegającą od typowych materiałów, jakie macie okazję czytać na naszej stronie, ale sądzę, że wciąż ciekawą, a konkretniej jest to test wydajności popularnych kart graficznych AMD Radeon oraz NVIDIA GeForce w renderingu grafiki z wykorzystaniem silnika Cycles obecnego w programie Blender. Nie da się ukryć, że obecna sytuacja rynkowa jest dość sprzyjająca dla planujących zakupy i to zarówno tych nabywców poszukujących GPU pod zastosowania rozrywkowe, jak i osób mających bardziej ambitne cele. Przede wszystkim na dobre minął kryptowalutowy szał, który jeszcze nie tak dawno sprawiał, że ceny zmieniały się jak w kalejdoskopie, nierzadko osiągając astronomiczne wręcz poziomy. Obecnie zaś mamy bardzo dobrą dostępność nowych kart graficznych z rodziny NVIDIA Turing, które co prawda w dalszym ciągu nie są tak opłacalne, jak byśmy chcieli, ale inaczej być nie może, biorąc pod uwagę przesunięcie półek cenowych dokonane przez zielonych. Niemniej jednak, skoro można nabyć GeForce RTX 2080 Ti w cenie oscylującej w okolicach 5000 zł, albo nawet i poniżej tego poziomu, to trzeba przyznać, że coś drgnęło w stosunku do stanu premierowego. Do tego na rynku jest sporo używanych konstrukcji bazujących na układach z rodziny Pascal, czy też opartych o chipy od AMD z serii Polaris oraz Vega, których ceny są bardziej niż zachęcające - szczególnie, jeśli trafimy na dobrą ofertę z długą gwarancją w jednym z dużych sklepów. No i nie należy zapominać, że reprezentanci czerwonego obozu mogą pochwalić się coraz agresywniejszą wyceną także, jeśli popatrzymy na nowe produkty. W przypadku Polarisów już naprawdę nie ma na co narzekać, ale i w temacie Vegi powoli zdaje się, że idzie to w dobrą stronę. Tak więc jest w czym przebierać i z czego wybierać, ale wciąż pozostaje pytanie - na co się zdecydować? Oczywiście postaram się na nie udzielić rzeczowej odpowiedzi.

Rendering na GPU to niewątpliwie ciekawy temat, któremu warto się przyjrzeć - szczególnie w obecnej, całkiem atrakcyjnej dla potencjalnych nabywców sytuacji rynkowej.

Czy rendering na GPU ma sens? Test wydajności kart graficznych w Blender

 Test kart graficznych w viewportach - część pierwsza, NVIDIA GeForce

Nowsze oraz starsze wydania programu Blender

Na sam początek kilka słów na temat programu Blender, a konkretniej dostępnych wersji. Ostatnie oficjalne wydanie oznaczone jest numerkiem 2.79b i pochodzi jeszcze z września 2017 roku, co oznacza, że stuknęło mu już ponad półtora roku, z czym wiążą się pewne niedogodności. Po pierwsze, wersja ta nie wspiera kart graficznych wykorzystujących układy z rodziny Turing - zarówno tych z serii GeForce GTX, jak i RTX. Nawet, jeśli ręcznie dogramy jądra dla CUDA 7.5, to i tak próba renderingu poczęstuje nas błędem. Rozwiązanie? Sięgnięcie po wersję rozwojową i wcale nie mam tutaj na myśli wiecznej bety 2.80. Najświeższe wydania z linii 2.79 oznaczone są obecnie jako 2.79.7 i wspierają architekturę Turing bez żadnych kombinacji, prosto po wypakowaniu paczki. Po drugie, nowsze kompilacje lepiej zarządzają pamięcią, dzięki czemu rendering tych samych scen zabiera mniejszą jej ilość. Jest to o tyle istotne, że w przypadku, gdy braknie nam RAM-u, możemy po prostu dokupić kolejny moduł, tudzież wymienić te już posiadane na nowe, zaś dla karty graficznej sprawa jest dużo bardziej skomplikowana. Ile VRAM naszemu akceleratorowi zamontował producent, tyle jej będzie miał i jedyne rozwiązanie na niewystarczającą pojemność pamięci to zakup nowego modelu. Zatem im mniejsze prawdopodobieństwa zobaczenia niezbyt przyjemnego komunikatu "out of memory", tym lepiej. Po trzecie, wydania rozwojowe charakteryzują się wyższą wydajnością niż oficjalne 2.79b. Rzecz jasna konkretny zysk nie jest stały i mocno zależny od sceny, którą akurat będziemy renderować, ale potrafi być znaczący, sięgający kilkudziesięciu procent, zatem trudno przejść obojętnie obok możliwości solidnego przyspieszenia wykonywanych operacji. I żeby nie było, oczywiście zdaję sobie sprawę, że kompilacje rozwojowe nie muszą być tak stabilne jak oficjalne wydania, ale przy końcowym renderingu przecież niczego nie ryzykujemy (poza straconym czasem, gdyby coś poszło nie tak).

Czy rendering na GPU ma sens? Test wydajności kart graficznych w Blender

 Test karty KFA2 GeForce RTX 2070 EX (1-Click OC). Azjatycka ofensywa

Sposób przeprowadzania testów

Punktem wyjściowym dla przeprowadzonych testów był, zdaje się, że już upadły, projekt Blender Open Data, którego celem było zebranie dużej liczby rezultatów przesyłanych przez użytkowników, aby następnie je zweryfikować, wybierając z nich te zaufane (jak mniej lub bardziej powszechnie wiadomo, różne tricki da się wprowadzić w życie) i na tej podstawie skonstruować rozbudowane zestawienie wydajności procesorów oraz kart graficznych. Publiczna beta powiązanego z nim programu Blender Benchmark ukazała się 10. sierpnia 2018, zaś oficjalne wydanie miało być dostępne jeszcze we wrześniu. Niestety, do tej pory status projektu pozostaje niezmieniony. Po narzędziu bez dopisku beta ani słychu, ani widu, podobnie jak po zweryfikowanych rezultatach oraz zestawieniu wydajności i nie sądzę, by miało się to w najbliższej przyszłości zmienić, o ile w ogóle. Ale w spadku wciąż pozostał wspomniany program, który postanowiłem nieco zmodyfikować, zamieniając wbudowaną wersję 2.79b Blendera na rozwojową 2.79.7 - tak, aby powiększyć zbiór wspieranego sprzętu, a także skorzystać z optymalizacji wydajnościowych i pamięciowych, o których pisałem akapit wyżej. I w ten właśnie sposób, z użyciem Blender Benchmark, została sprawdzona wydajność w renderingu kart graficznych biorących udział w teście, w wariancie pełnym, a więc z wykorzystaniem sześciu różnych scen: barbershop_interior, bmw27, classroom, fishy_cat, koro oraz pavillon_barcelona. Takie podejście zapewnia możliwie szeroki obraz zależności między porównywanymi GPU, a te - jak nietrudno się  domyśleć - raczej nie będą stałe. Zaktualizowaną wersją Blender Benchmark oczywiście udostępniam także Wam, drodzy czytelnicy - pobierzecie ją stąd. Nie ma zatem żadnych przeciwwskazań, aby każdy zainteresowany mógł porównać zaprezentowane osiągi z posiadanym sprzętem, a także - ewentualnie - podesłać mi wynik, który na pewno zostanie uwzględniony w bazie rezultatów.

Pokaż / Dodaj komentarze do: Czy rendering na GPU ma sens? Test wydajności kart graficznych w Blender

 0