Napisano 17 Maj 201113 l 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.
Napisano 17 Maj 201113 l 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.
Napisano 17 Maj 201113 l Autor 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.
Napisano 17 Maj 201113 l 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 201113 l przez CgBartosz
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto