Skocz do zawartości

Rady odnośnie pyMel


rakson23

Rekomendowane odpowiedzi

Witam,

Nie wiem ile osób z forum pisze jakies skrypty do Mayki, ale chciałbym dzielić się moimi spostrzeżeniami odnośnie pyMel i mam nadzieje, że pozostali "piśmienni w pyMelu, Melu, pythonie" również coś dorzucą.

 

1. pyMel jest powolny tak więc jakiekolwiek zbędne dane mogą "zabić" Mayke podczas wykonywania skryptu, w którym występuje kilka tysięcy iteracji. I tak na przykład natknąłem się na ciekawostkę odnośnie funkcji "parent", otóż w przypadku kiedy jej nie używamy skrypt jest w stanie iterować się około 80 tysiecy razy tworząc przy tym lokator (tworząc dowolnego noda sporo mniej, ale o tym później). Drugi przypadek to przypadek kiedy bezpośrendnio w wywołaniu funkcji podajemy nazwy "parentowanych" nodów ( wywołanie wygląda tak "parent(nazwadziecka,nazwarodzica)"), w takim przypadku po około 50 tysiacach iteracji skrypt wyłoży maye. W trzecim przypadku (nawiasem mówiąc wtedy kod wygląda ładnie), czyli w takim gdzie nazwy parentowanych obiektów zapisujemy do zmiennych, a zmiennych używamy w wywołaniu funkcji ilość możliwych iteracji( u mnie na sprzęcie) spada do około 4000 -- jak widać różnica jest znaczna.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 3
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Popular Days

Top Posters In This Topic

jasne, jak wróce z zajęć wrzuce kodziki, generalnie jak mowilem pymel ma plus taki, że jest prosta skladnia, minus jest taki, że jest wolny i trzeba uważać co się robi:) kod o ktorym mowie jesli chodzi o parentowanie jest w ktoryms topicu ponizej. generalnie wszystkie nowinki, o ktorych dowiem sie podczas pisania l-systemow w pymelu (smieszne podejscie, ale tak chciala promotorka) bede wrzucal tutaj. podejrzewam, że w czerwcu zwita na forum w miare sensownie dzialajacy plugin w pymelu, a pod koniec lata zostanie przepisany do maya python.

Odnośnik do komentarza
Udostępnij na innych stronach

Zrob jakies profilowanie kodu to zobaczymy co tak zwalnia na tych loopach.

Mozesz uzyc na przyklad wbudowanego modulu cProfile. Fajnie by bylo gdybys wrzucil tutaj wyniki. Profilowanie w pythonie jest super proste:

import cProfile 
cProfile.run('foo()')

Edytowane przez CgBartosz
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