Projekt Blender

POLITECHNIKA OPOLSKA

Modelowanie i analiza systemu


Temat:
Wpływ ilości rdzeni CPU na szybkość renderowania w programie Blender z użyciem silnika renderującego Cycles. Różnice w prędkości renderowania między CPU, a GPU (CUDA).

Łukasz Basiński

Maciej Kossak

Marek Cywiński

Adam Czech

Cel projektu

Zadanie ma na celu badanie wzrostu prędkości renderowania wraz z zwiększaniem ilości rdzeni CPU, oraz porównanie czasu renderowania na procesorze z czasami renderów tej samej sceny na karcie graficznej w programie Blender, porównane zostaną również czasy renederowania przykładowych scen z różnymi typami materiałów, oraz ilością geometrii.

Zakres projektu

Zadanie będzie polegało na stworzeniu sceny testowej w programie Blender z wykorzystaniem silnika renderującego Cycles, a następnie renderowaniem jej z wykorzystaniem różnej ilości rdzeni (1,2...8) na wielu procesorach - scena zostanie tak przygotowana, aby na najmocniejszym procesorze scena z użyciem 1 rdzenia renderowała się od 1 do 2 minut. Następnie ta sama scena zostanie wyrenderowana za pomocą karty graficznej Nvidia z wykorzystaniem CUDA (ang. Compute Unified Device Architecture).

Projekt będzie składać się ze scen:

Każdy render zostanie zapisany z nazwą w postaci “nazwascenytestowej_ilośćrdzeni_x.png” (gdzie nazwascenytestowej oznacza szczególny typ sceny w danym teście (np. “diffuse_czasteczki”), x oznacza ilość rdzeni), a na obrazie zostaną zapisane takie dane jak czas renderu, data wykonania renderu. W przypadku renderu na GPU plik zostanie zapisany jako “SCENA_GPU.png”.

Opis programów i urządzeń

Do wykonania projektu zostanie wykorzystany program Blender oraz procesory CPU i GPU.

Blender jest najbardziej zaawansowanym darmowym pakietem do tworzenia grafiki trójwymiarowej. Umożliwia wygodne modelowanie za pomocą wielu typów obiektów, stosowanie efektów specjalnych, przygotowywanie realistycznych renderingów, a także udostępnia silnik graficzny do gier oraz liczne funkcje do tworzenia animacji. Pod względem możliwości Blender nie ustępuje komercyjnym produktom, a o zasłużonej popularności tego programu świadczą miliony jego pobrań i nieustannie rosnące grono użytkowników.

Procesory CPU:

Procesory GPU:

Wyniki

  1. W tabelach przedstawione zostały czasy renderowania przykładowych scen.

Tabela 1 Procesor i7-4770k, karta graficzna NVIDIA GeForce GTX 970

i7-4770k / GTX 970 Diffuse Glass Glossy SubSurf VolumeScatter Particles 10k Particles 100k Mieszane HP Mieszane LP
1 [s] 53,77 90,31 52,39 69,03 69,69
2 [s] 37,59 62,35 36,81 48,43 47,94
3 [s] 22,06 36,69 21,64 28,47 28,35
4 [s] 18,18 30,02 17,86 23,07 23,22
5 [s] 22,33 36,84 21,73 28,42 28,17
6 [s] 16,02 26,11 15,57 20,38 20,01
7 [s] 15,91 26,02 15,60 20,35 20,15
8 [s] 14,05 22,61 13,53 17,64 17,54 21,92 34,97 15,12 11,10
GPU [s] 2,30 3,20 2,21 8,06 4,29 5,37 9,23 7,11 4,22

Tabela 2 Procesor i7-2670QM, karta graficzna NVIDIA GeForce GT 555m

i7-2670QM / GT555m Diffuse Glass Glossy SubSurf VolumeScatter Particles 10k Particles 100k Mieszane HP Mieszane LP
1 [s] 81,30 136,30 180,10 145,00 143,90
2 [s] 61,50 104,40 79,70 104,50 86,80
3 [s] 35,05 59,26 35,15 45,82 45,21
4 [s] 27,74 47,07 27,81 36,13 36,14
5 [s] 39,87 68,81 40,02 52,70 52,12
6 [s] 26,14 42,47 25,46 36,50 39,22
7 [s] 25,58 42,63 26,82 36,47 32,77
8 [s] 20,84 35,73 21,01 27,68 29,07 42,18 72,10 26,48 21,37
GPU [s] 18,23 29,16 17,55 45,57 41,90 50,69 75,20 35,99 30,19


Tabela 3 Procesor i7-4710HQ, karta graficzna NVIDIA GeForce GTX860m

i7 4710HQ / GTX 860m Diffuse Glass Glossy SubSurf VolumeScatter Particles 10k Particles 100k Mieszane HP Mieszane LP
1 [s] 71,58 119,38 70,09 91,55 92,32
2 [s] 50,59 84,10 49,60 65,08 64,32
3 [s] 29,68 49,28 29,16 38,18 38,01
4 [s] 23,98 39,81 23,53 30,71 30,97
5 [s] 29,71 49,35 29,22 38,12 38,04
6 [s] 21,12 35,04 20,83 27,08 27,08
7 [s] 21,09 35,03 20,82 27,03 27,01
8 [s] 18,92 31,34 18,56 24,23 24,40 30,24 48,71 20,54 15,90
GPU [s] 7,37 12,36 7,18 53,01 16,66 17,60 25,38 21,33 17,51

Tabela 4 Procesor i3-2310M, karta graficzna NVIDIA GeForce GT 540m

i3-2310M /GT540m Diffuse Glass Glossy SubSurf VolumeScatter Particles 10k Particles 100k Mieszane HP Mieszane LP
1 [s] 131,68 220,71 129,03 167,21 164,22
2 [s] 94,69 155,11 91,39 120,71 117,68
3 [s] 55,46 93,18 54,96 71,22 70,53
4 [s] 66,09 110,98 65,11 84,29 84,44 105,79 166,37 70,67 55,38
GPU [s] 31,81 49,72 29,79 79,69 70,51 81,94 121,01 61,06 51,35

Tabela 5 Procesor AMD Athlon II P340 Dual-Core

AMD Athlon II P340 Dual-Core Diffuse Glass Glossy SubSurf VolumeScatter Particles 10k Particles 100k Mieszane HP Mieszane LP
1 [s] 182,78 270,05 173,84 220,41 210,32
2 [s] 116,47 190,93 118,35 120,71 150,15 270,08 482,79 167,27 125.82
  1. Dla powyższych tabel stworzone zostały również wykresy, które w przejrzysty sposób reprezentują wyniki badań.

Wykres 1 Czasu renderu scen dla Tabeli 1.

Wykres 2 Czasu renderu scen dla Tabeli 2.

Wykres 3 Czasu renderu scen dla Tabeli 3.

Wykres 4 Czasu renderu scen dla Tabeli 4.

Wykres 5 Czasu renderu scen dla Tabeli 5.

  1. Wygląd scen po wykonaniu renderowania dla różnych materiałów, ilości próbek i siatek.

Rysunek 1 Diffuse_LP_watek1_0001

Rysunek 2 Glass_LP_watek1_0001

Rysunek 3 Glossy _LP_watek1_0001

Rysunek 4 SubSurf_LP_watek1_0001

Rysunek 5 VolumeScattering_LP_watek1_0001

Rysunek 6 Particles10k_CPU_0001

Rysunek 7 Particles100k_CPU_0001

Rysunek 8 High_poly_CPU_0001

Rysunek 9 Low_poly_CPU_0001

Rysunek 10 Diffuse_LP_GPU

Rysunek 11 Diffuse_LP_GPU

Rysunek 12 Diffuse_LP_GPU

Rysunek 13 Diffuse_LP_GPU

Rysunek 14 Diffuse_LP_GPU

Rysunek 15 Particles10k_GPU

Rysunek 16 Particles10k_GPU

Rysunek 17 High_poly_GPU

Rysunek 18 High_poly_GPU

Wnioski

Podczas analizy wyników zauważyć można że dla większości procesorów najdłuższy czas renderowania występuje przy materiale GLASS, niezależnie od ilości wykorzystanych wątków. Natomiast dla procesorów kart graficznych (GPU) wykorzystanych w badaniu najdłużej wykonywane było renderowanie materiału SubSurf. Jak można się było spodziewać GPU w większości testów było szybsze, a niżeli CPU. Wyjątkiem jest test przeprowadzony przy użyciu procesora i7-2670QM działającego na 8 wątkach i karty graficznej NVIDIA GeForce GT 555m, gdzie średni czas wykonania polecenia był krótszy na wspomnianym wcześniej procesorze. Podczas testów zauważyliśmy również, że czas renderowania scen z wykorzystanie 4 wątków procesora jest krótszy, a niżeli z wykorzystaniem 5 wątków. Badanie te zawierało również test dla różnych ilości siatek i próbek, podczas tych badanie zgodnie z naszymi oczekiwaniami czasy renderowania scen były krótsze przy wykorzystaniu GPU , jednak również w tym teście karta graficzna NVIDIA GeForce GT 555m wypada gorzej niż procesora i7-2670QM działającego na 8 wątkach. Po przeprowadzonym badaniu można jednak wywnioskować, że karty graficzne które są kompatybilne z programem „ Blender ” i wykorzystane w tym teście spisują się lepiej podczas renderowania niż wykorzystane procesory.


Wyszukiwarka