art3mis Posted July 16, 2017 Share Posted July 16, 2017 (edited) Hi In the examples for compile blocks there are 2 'compile begin' SOPs. I also need a 2nd compile begin in order to omit incompatible nodes from being included in the block. In the attached pic the null node on the left should be a compile begin node. No matter what I try, am unable to do this without getting an error. "Violation of strict nesting of blocks" (see pic 2) http://www.sidefx.com/docs/houdini/model/compile Edited July 16, 2017 by art3mis Quote Link to comment Share on other sites More sharing options...
acey195 Posted July 17, 2017 Share Posted July 17, 2017 In this case you also need a second begin block in the foreach loop Sesi said they may change this in the future, but for now you need strict encapsulation of loops+compile blocks. Quote Link to comment Share on other sites More sharing options...
art3mis Posted July 17, 2017 Author Share Posted July 17, 2017 Thanks. So a 2nd compile_begin between the foreach_begin and the copytopoints node? Quote Link to comment Share on other sites More sharing options...
acey195 Posted July 18, 2017 Share Posted July 18, 2017 (edited) No an extra foreach_begin between the compile_begin3 and copypoints2, set to "fetch input" probably Edit: or to get the complete idea, watch the video in the post below, its a good one I think Edited July 18, 2017 by acey195 Quote Link to comment Share on other sites More sharing options...
adrianr Posted July 18, 2017 Share Posted July 18, 2017 It's all covered here - Really worth a watch. 1 Quote Link to comment Share on other sites More sharing options...
art3mis Posted July 18, 2017 Author Share Posted July 18, 2017 Yep watched this. Obviously need to watch again...:) Quote Link to comment Share on other sites More sharing options...
acey195 Posted July 19, 2017 Share Posted July 19, 2017 What I do find is, if you need more and more compile begin block nodes, the gain of actually compiling the block decreases quickly, to the point where the overhead is larger than the amount of time you save. This of course depends on what you do in the loop. the more expensive the loop, the more useful it is to compile of course. But if your compiled block contains exclusively attributeVops/Wrangles sometimes it is not worth compiling at all. In your case I am pretty sure it will be worth to compile the loop, but I always like to compare the cook times afterwards using the performance monitor. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.