VEX Исполнение кода в каждой точке |
Home· Статьи · Вакансии · Чертежи · 3D Галерея · 2D Галерея · Форум · Форум Realtime | Реклама |  Конкурсы | RAR Award | Правила |
Здравствуйте, гость ( Вход | Регистрация )
VEX Исполнение кода в каждой точке |
02/02/2014, 14:31
Сообщение
#1
|
|
Мастер Группа: Пользователи Сообщений: 1 070 Регистрация: 17/04/2007 Из: отТуда Пользователь №: 47 967 |
В VEX только вникаю и не могу спалить один момент.
Ясно что VEX код испольняется для каждой точки (например Wrangle Point SOP) каждый раз. Но, например в коде перед, непосредственно, добавлением значения точке ( @P += @P1 ) мне нужно узнавать баунды (bbox) объектов со входов и все ето в разветвленнх условиях. Вопрос: Для каждой точки весь код будет исполнятся каждый раз или есть какието нюансы? Может лучшее одноразовые операции выносить в spare параметры c обычными гудиньскими выражениями ( bbox(" ... ) ? По замерам вычисления баундов и чтения всяких каналов не влияет (перед установлением самой точки) не влияют на скорость. Проясните... Сообщение отредактировал VUX - 02/02/2014, 14:32 |
|
|
02/02/2014, 14:39
Сообщение
#2
|
|
VFX-artist Группа: Пользователи Сообщений: 2 721 Регистрация: 31/07/2002 Пользователь №: 488 |
Баунды со входов стопудов лучше узнавать экспрешенами, а в вранглере просто собирать значения с параметров
vector bb=chv("bbox"); Это проще, быстрее и удобнее. |
|
|
02/02/2014, 14:47
Сообщение
#3
|
|
Мастер Группа: Пользователи Сообщений: 1 070 Регистрация: 17/04/2007 Из: отТуда Пользователь №: 47 967 |
Баунды со входов стопудов лучше узнавать экспрешенами, а в вранглере просто собирать значения с параметров vector bb=chv("bbox"); Это проще, быстрее и удобнее. А как нащет множественных if-ов со множественными проверками параметров (ch("")) в коде. Сильно оно влияет на скорость? Или тоже лучше в spare-ах вычислять? На одфорсе говорили что если много spare параметров в wrangle ноде то сорость ниже чем собранный аналогичный VOP-нетворк. Сообщение отредактировал VUX - 02/02/2014, 14:49 |
|
|
02/02/2014, 14:58
Сообщение
#4
|
|
Мастер Группа: Пользователи Сообщений: 1 070 Регистрация: 17/04/2007 Из: отТуда Пользователь №: 47 967 |
|
|
|
02/02/2014, 15:22
Сообщение
#5
|
|
VFX-artist Группа: Пользователи Сообщений: 2 721 Регистрация: 31/07/2002 Пользователь №: 488 |
Есть возможность исполнять код один раз. Это очень просто.
Attrib Wrangle -> details Тогда код исполняется один раз только. Правда в случае пробега по точкам нужно будет писать цикл внутри. но это очень просто, а главное, контроль полный. А вообще код во вранглерах исполняется по скорости чуть ли не также как нативный с++ Сообщение отредактировал Evgen - 02/02/2014, 15:23 |
|
|
02/02/2014, 15:24
Сообщение
#6
|
|
Мастер Группа: Пользователи Сообщений: 1 070 Регистрация: 17/04/2007 Из: отТуда Пользователь №: 47 967 |
Цитата А вообще код во вранглерах исполняется по скорости чуть ли не также как нативный с++ Вот поэтому я решил перевести все опрации (по трансформу пока) на врангл. На тяжелой геометрии скорость поражает Сообщение отредактировал VUX - 02/02/2014, 15:32 |
|
|
02/02/2014, 15:40
Сообщение
#7
|
|
VFX-artist Группа: Пользователи Сообщений: 2 721 Регистрация: 31/07/2002 Пользователь №: 488 |
Правильное решение.
3-5 строчек кода экономят тонны времени на элементарных задачах |
|
|
02/02/2014, 16:17
Сообщение
#8
|
|
Мастер Группа: Пользователи Сообщений: 1 070 Регистрация: 17/04/2007 Из: отТуда Пользователь №: 47 967 |
Правильное решение. 3-5 строчек кода экономят тонны времени на элементарных задачах Получается обычные експешены теряют актуальность для тех кому скорость кука очень важна. Можна ведь в аттриб врангл делать все тоже. Скорость векса всеравно выше чем у обычных експрешенов. ПС говорят что настоящие дядьки все через векс делают Сообщение отредактировал VUX - 02/02/2014, 16:27 |
|
|
02/02/2014, 21:07
Сообщение
#9
|
|
Мастер Группа: Пользователи Сообщений: 1 070 Регистрация: 17/04/2007 Из: отТуда Пользователь №: 47 967 |
Походу выяснилось что обработка поинтов циклом в AttribWrangle SOP (details) быстрее чем в PointWrangle SOP.
Вот такой код в AttribWrangle SOP работает в ~2 раза быстрее: Код for( int i=0; i<npoints(0); i++ ) setpointattrib( 0, "P", i, point(0,"P",i)+{0,1,0} ); чем в PointWrangle SOP: Код @P += {0,1,0}; по крайней мере у меня с шариком в 1.8 млн. треугольников. Как так ? |
|
|
02/02/2014, 21:49
Сообщение
#10
|
|
VFX-artist Группа: Пользователи Сообщений: 2 721 Регистрация: 31/07/2002 Пользователь №: 488 |
Вполне может быть. не проверял. Мож гляну на досуге
|
|
|
02/02/2014, 21:54
Сообщение
#11
|
|
Эксперт Группа: Модераторы Сообщений: 747 Регистрация: 16/02/2006 Из: Питер Пользователь №: 23 393 |
Походу выяснилось что обработка поинтов циклом в AttribWrangle SOP (details) быстрее чем в PointWrangle SOP. Вот такой код в AttribWrangle SOP работает в ~2 раза быстрее: Код for( int i=0; i<npoints(0); i++ ) setpointattrib( 0, "P", i, point(0,"P",i)+{0,1,0} ); чем в PointWrangle SOP: Код @P += {0,1,0}; по крайней мере у меня с шариком в 1.8 млн. треугольников. Как так ? А ты как скорость замерял? Субъективно или цифры? MMB на вранглерах врёт, нужно внуть прыгать, смотреть на VOP. А вообще конечно интересный результат, я не делал тестов, хз, может и правда. Но как-то это подозрительно.... |
|
|
02/02/2014, 22:15
Сообщение
#12
|
|
Мастер Группа: Пользователи Сообщений: 1 070 Регистрация: 17/04/2007 Из: отТуда Пользователь №: 47 967 |
Цитата MMB на вранглерах врёт, нужно внуть прыгать, смотреть на VOP не подумал - действительно если измерять изнутри то PointWrangle быстрее |
|
|
02/02/2014, 22:25
Сообщение
#13
|
|
Мастер Группа: Пользователи Сообщений: 1 070 Регистрация: 17/04/2007 Из: отТуда Пользователь №: 47 967 |
|
|
|
02/02/2014, 22:39
Сообщение
#14
|
|
Эксперт Группа: Модераторы Сообщений: 747 Регистрация: 16/02/2006 Из: Питер Пользователь №: 23 393 |
Цитата MMB на вранглерах врёт, нужно внуть прыгать, смотреть на VOP не подумал - действительно если измерять изнутри то PointWrangle быстрее Теперь у меня получается что и Transform нода нифига не медленне чем PointWrangle Я тут тоже недавно удивился.. Раньше чтобы создать аттрибут на миллионе поинтов, делали это в vopsop, ибо attrib create sop был медленный. А теперь он быстрее чем vopsop создает аттрибут. Ну естесственно при условии что без экспрешенов, чисто константа )) |
|
|
Bots |
Системное сообщение
|
|
|
|
|
Текстовая версия | Сейчас: 17/04/2024 - 10:59 |