rakson23 Napisano 17 Maj 2011 Napisano 17 Maj 2011 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.
CgBartosz Napisano 17 Maj 2011 Napisano 17 Maj 2011 pymela nie znam ale w pythonie troche naskrobalem. mozesz pokazac jakis przykladowy kodzik ? W samym pythonie mozna iteracje robic wolniej lub szybciej, w zaleznosci od zastosowanej metody.
rakson23 Napisano 17 Maj 2011 Autor Napisano 17 Maj 2011 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.
CgBartosz Napisano 17 Maj 2011 Napisano 17 Maj 2011 (edytowane) 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 17 Maj 2011 przez CgBartosz
Rekomendowane odpowiedzi
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ę