Skocz do zawartości

Blender / Cycles / GPU vs CPU


kolaborant

Rekomendowane odpowiedzi

Hej

 

W zasadzie można ten wątek założyć w dziale Kart graficznych ale myślę, że tutaj znajdzie się

więcej osób stricte w temacie Cycles'owym. Mam kartę gtx 580 3Gb. W jakimś bliskim czasookresie

chciałem nieco wzmocnić możliwości obliczeniowe (GPU) mojego blaszaka.

 

Czy waszym zdaniem lepiej zakupić drugiego gtx 580 (za około 600 zł) czy taki układ będzie mniej wydajny

niż jakiś gtx nowszej generacji a może lepiej pójść w stronę liczenia CPU?

 

Wiem, że gpu ma ograniczenia związane z pojemnością karty (ale w przypadku 2 kart/6Gb powinny udźwignąć spore scen)

Czy karty w Sli dobrze obsługuje Cycles.

Wszelkie rady/sugestie mile widziane.

 

Pozdrawiam.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 26
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Top Posters In This Topic

Z tego co wiem, to tak pięknie nie ma dobrze, że dokładasz kartę graficzną z drugie 3 giga i możesz renderować scenę 6giga.

 

Całość musi się mieści w każdej karcie, a z wydajnością to było tak, że przy 2 kartach wydajność był równa około 2x najsłabszej z pary kart.

 

Ale 3 giga to dość dużo z jednej strony, jak ktoś ma nawyk optymalizować sceny, ale są takie rzeczy, których się nie da. Moja scena z włosami i jednoroźcem brała w porywach do 6 i musiałem na CPU.

 

Warto zauważyć, że ficzery cyclesa najpierw przeważnie wychodzą na CPU, a na GPU są z opóźnieniem - tak jest teraz z wolumetryką, w wcześniej było z SSS, Włosami ...

 

No i dodakowo są jeszcze farmy renderujące, w których naprawdę duże rzeczy można tanio i szybko werenderować nie męcząc swojego kompa. Niech wspomnę RayPump.

 

Jak masz gtx 580 3gb, to na twoim miejscu bym nie kupował GPU, bo trudno uzyskać większy stosunek cena/wydajność.

CPU mocniejszy się przydaje nie tylko do renderowania, a czasem dobrze mieć, żeby od biedy coś wysmarzyć, co jeszcze nie działa na GPU, albo z innego silnika skorzystać (corona, vray)

Natomiast hardkory i anuimacje od czasu do czasu można w raypumpie wyrenderować nie zajmując sobie komputera przez ten czas wcale.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli potrzebujesz rzeczy które teraz działają na CPU a nie działają na grafie to wybierz raczej mocarne CPU. Po odejściu Brechta nie prędko przeniosą wszystko na GPU.

 

SLI nie działa w cyclesie. Każda karta jest traktowana jako osobny akcelerator ze swoją własna pamięcią w której musi się zmieścić scena.

Co do kart 6 giga. Musisz zwrócić uwagę na architekturę takiej karty. Większość z nich to tak zwane kanapki czyli 2 identyczne karty połączone czymś w rodzaju mostka SLI na sterydach. Na pudle masz napisane 6 giga ramu ale tak na prawdę to jest 2 razy po 3 giga, czyli jeden akcelerator ma dla siebie nadal tylko 3 giga pamięci. Taki titan chyba na prawde ma 6 giga pamięci ale już titan Z to kanaplka więc dostajesz 2 razy po 6 giga.

 

Co do wyboru karty to ci nie poradzę, nie wiem jak to teraz wygląda z price performance. Za to zwróć uwagę na jedną rzecz. Może być tak że opłaci ci się wydać kase na jednego kolosa zamiast 2 kart dlatego że będziesz mógł dużo szybciej pracować, zmniejszy ci się czas robienia preview renderów. Natomiast jeśli masz już wypracowane jakieś swoje ustawienia i materiały to pewnie bardziej opłacą ci się 2 karty i oszczędność czasu na final-renderach. Tym bardziej do renderowania animacji. Poza szybkością renderu na klatkę masz jeszcze taki czynnik że karty kolosy się mocniej grzeją więc szybciej ci padnie.

 

Tak czy inaczej zacznij od tego jakie sceny będziesz robił i ile ramu ci na nie trzeba. Szybkość odszumiania będzie lepsza lub gorsza ale to mozliwość wyrenderowania czegoś złożonego w ramach ilości RAM jest tutaj czynnikiem decydującym. Może być tak że jak uwzględnisz instancing obiektów jak roślinność to starczy ci karta 2 giga. Zrób sobie jakieś testy na twoich scenach kopiując (również robiąc instancje) obiekty do tego momentu aż urżniesz twoją obecną kartę, wtedy ci wyjdzie ile razy więcej ramu potrzebujesz żeby uzyskać to co chcesz.

 

No i jeszcze bierz poprawkę że jak będziesz renderował nocami duże stilki czy klatki animacji to te karty się usmażą za 2-3 lata i będziesz zmuszony kupić nowe. Poprawka, będziesz CHCIAŁ kupić nowe nawet jak tamte będą jeszcze działać. To leci tak do przodu że bóg wie jaką te cuda będą miały wydajność. ;) Nie sadzę że taki Titan Z za 10 kafli to dobra inwestycja na sprzęt na 2 lata. ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki za opinie. Cóż ostatnio raczej renderuje studyjne rzeczy ale w rozmiarach do druku czas renderowania potrafi dać się we znaki.

Zwłaszcza jak nagle, na renderze końcowym dostrzegasz jakiś fail :) Dlatego myślałem, że drugi gtx 580 mógłby nieco sprawę ułatwić.

Czy w takim wypadku jeżeli kupię kartę gtx 580 o pojemności 1,5 Gb (zawsze taniej) to nadal będę mógł korzystać z pojemności 3Gb mojej obecnej karty czy pojemność zrówna mi do najsłabszej?

 

Co myślicie o takim wynalazku. Kusząca sprawa mieć taki regalik na czarną godzinę. Można zbudować jakoś po kosztach i z czasem rozbudowywać. http://cgcookie.com/blender/2013/08/09/setting-up-a-render-farm/

Czy wiecie jak tam sobie radzą AMD wydajnościowo (ja z przyzwyczajenie celowałem zazwyczaj w intela

obecnie 2600K)

 

Ps. Jeśli chodzi o instancje obiektów to muszę tu zagłębić się w temat bo przyznam, że nie korzystałem wcześniej z takiego rozwiązania.

Odnośnik do komentarza
Udostępnij na innych stronach

Ps. Jeśli chodzi o instancje obiektów to muszę tu zagłębić się w temat bo przyznam, że nie korzystałem wcześniej z takiego rozwiązania.

założe się ze korzystałes tylko nie wiedziałeś, że tak tworzy się instancje (któryś ze sposobów duplikacji) ;)

 

jeżeli chodzi o amd, przeglądałem wczoraj benchmarki procesorów i najlepsze amd jest tuż za sandy bridge ale kawałek za najnowszymi i5

Odnośnik do komentarza
Udostępnij na innych stronach

Czy w takim wypadku jeżeli kupię kartę gtx 580 o pojemności 1,5 Gb (zawsze taniej) to nadal będę mógł korzystać z pojemności 3Gb mojej obecnej karty czy pojemność zrówna mi do najsłabszej?
Oczywiście zrówna się do tej słabszej. Jak umieszczasz scenę w ramie wszystkich kart to ta najsłabsza sobie go nie wyczaruje. ;) Mówimy o sytuacji gdy będziesz korzystał z obu na raz bo przecież możesz niektóre rzeczy renderowac na pojedynczej, mocniejszej karcie.

 

Instancje obiektów to ALT+D, edytując jeden zmieniasz wszystkie, jak ładujesz je do renderu to ładujesz tylko jeden obiekt (mniej więcej, każda instancja dodaję coś do objętości sceny.) Twarda kopia obiektu to SHIFT+D, czyli jak skopujesz to on staje się niezależny.

Odnośnik do komentarza
Udostępnij na innych stronach

@Monio - dzięki w temacie kart już mam mniej więcej jasność

 

 

ALT+D nie powoduje żadnej oszczędności pamięci! Do renderowania ładujesz wszyskie linnkowane duplikaty.

 

tylko przywołanie Group instance tak działa.

 

 

... hmm chyba mam teraz mętlik. Czy mógłbyś mi wyjaśnić, co miałeś na myśli. Czy pamięć można zaoszczędzić używając tylko

Group instance (coś na takiej zasadzie jak grupy obiektów przy cząsteczkach?). Byłbym wdzięczny za szersze wyjaśnienie sposobu przygotowania obiektów tak aby zaoszczędzić ram.

Odnośnik do komentarza
Udostępnij na innych stronach

Robiłem silnik gwiazdowy, 9-cylindrowy, każdy cylinder z osprzętem to było sporo geometrii więc wymyśliłem, że zrobię instancing przez Alt-D, ale wcale nie oszczędziłem pamięci bo wzięło przy renderze dokładnie dyle samo, co twarda kopia Shift D. Wtedy sprawdziłem!

 

Dopiero, jak zrobiłem na ukrytej warstwie (musi byś ukryta, bo obiekt grupy musi być w punkcie 0,0,0 na środku sceny i to jest niefartowne ułożenie) jeden cylinder i dodałem go do grupy. A potem do silnika pododawałem group instance i poobracałem - wtedy faktycznie ilość pamięci nie bardzo zależała od ilości instacji tak dodanych.

 

 

Jak są particle instancje, to wiadomo działa też.

Ale tez nie można w nieskońconość, więc jak byś robił trawę, to nie korzystaj z jednego źdźbła jako grupy, tylko zrób całą kępkę kilku tysięcy źdźbeł i tą kępę emituj tysiące razy (a nie miliony)

Odnośnik do komentarza
Udostępnij na innych stronach

Może zależy od przypadku. W bebechach blender particle działają dokładnie tak samo jak ALT+D. Z trawą znam patent (chyba nawet od ciebie). Tak czy inaczej nie zajmuje się na razie takimi rzeczami, jak zacznę to skorzystam i sam się pobawię.

Odnośnik do komentarza
Udostępnij na innych stronach

narobiłem sobie duplikatów przez alt D i mi wyszło jak Moniowi. Już myślameł, że będę musiał odszczekać, ale jak zacząłem je obracać ...

 

taki jest efekt. Obracane i skalowanie powoduje, że nawet linkowane kopie biorą normalnie ramu, podczass gdy instancje przy obracaniu i skalowaniu już nie.

 

V47aYSb.jpg

Odnośnik do komentarza
Udostępnij na innych stronach

ale+d duplicate linked to nie instancing kiedyś gdzieś to na blenderartists czytałem i tak też mi się wydawało całe życie. Chyba chodziło o to że przez linkowanie podpinasz pewne parametry. instancing działa przez particle, grup instanc i teoretycznie przez duplication w zakładce object (Czyli parent z duplikacją) (u mnie działa).

w skrócie moje przejścia z instacingiem w blenderze są podobne do @ikkiza i niegdy nie traktowałem tego jako bug. Tylko za pierwszym razem było to dla mnie zdziwienie.

Odnośnik do komentarza
Udostępnij na innych stronach

Myślę, że nie bug w klasycznym tego słowa znaczeniu, choć można by było pewnie to inaczej oprogramować, żeby alt-duplikaty działały jak instancje. Jest coś na rzeczy właśnie z tym, że duplikat z grupy ma związek ze środkiem układu współrzędnych, jeśli chce się go traktować w ten sposób (dodawać group instacje), Natomiast Duplikate linked jest trochę prostszy i mniej wymagający - bo po prostu zawiera zlinkowaną kopię siatki i normalnie origin względem origina przesunięty. Jest jeden szczególny przypadek, gdy się zachowuje względem pamięci jak instancja - gdy ma taką samą skalę i rotację.

Odnośnik do komentarza
Udostępnij na innych stronach

Tak Jest. Każdy Linked duplicate z subsurfem bierze dodatkowy ram, obracanie nie ma tu wiele do rzeczy.

Natomiast group instance wciąż nie bierze dodatkowego ramu, ile by nie miał modyfikatorów.

 

Sorry że zamieszałem swoim szczególnym przykładem, ale chyba jakaś wiedza jednak z tego wynikła.

Edytowane przez ikkiz
Odnośnik do komentarza
Udostępnij na innych stronach

Idlero: sorry ale nie zapisałem, do tego mam robotę i nie chce mi się tworzyć jeszcze raz :P

Ale jest to imo logiczne, skoro każdy klon (alt+D) ma swój własny (oddzielny) stos modyfikatorów, to nie można traktować takiego zestawu jako instancji. Natomiast czysty klon (bez modyfikatorów) już można i Cycles to robi. Przy group Instance klon jest idealny i zmiana stosu modyfikatorów w źródle powoduje zmianę we wszystkich instancjach.

Edytowane przez szczuro
Odnośnik do komentarza
Udostępnij na innych stronach

Ikkiz- Nie wziąłem po uwagę że twój obiekt ma modyfikatory... Czyli jest tak jak mówię, Alt+D to jest instancja. Jest jedno ale. To instancja mesha w obiekcie który sam w sobie nie musi być instancją. Jak postukasz w konsoli pythona to będziesz miał tego potwierdzenie. Obiekt może mieć dowolną skale, rotacje i translacje ale póki mesh do którego się odwołuje jest instancją to będzie wczytany do ramu tylko raz.

Modyfikatory natomiast, jak sama nazwa wskazuje modyfikują mesha więc dane są podmieniane na zupełnie nową siatkę, w większości przypadków nie ma jak tego zoptymalizować bo modyfikatory mogą mieć zupełnie inne ustawienia, odwoływać się do target obiektów, byś animowane w inny sposób (armature modifier). To co mogliby zoptymalizować to instancjonowanie statycznych meshy z subsurfem (nie testowałem, może nawet tak to już działa).

Group instance działa razem z modyfkatorami dlatego że pobiera dane siatki już po jej modyfikacji, to jest dodatkowe usprawnienie. Modyfikatory obiektu w instancjach grupy zawsze mają identyczne ustawienia.

 

Zlm4nNa.png

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności