Hi!
I'm working with whe Arnold renderer and instances. The s@instancefile is used to tell each point what .ass file to use.
My HDA is to control a scatter with a paint sop just above. When I view my scatter1 HDA while painting, I get about 3 fps but if I do the exact same thing while viewing the attribdelete (removing the instancefile attrib), I get 120 fps!!!
I don't understand how it can be faster since I'm adding one more calculation with the attribdelete... The slowdown seems to only get affected by that attribute.
My scatter is only 600 points... nothing crazy.
EDIT: To clarify, I'm talking about viewport fps, not the render view.
Viewing result without s@instancefile is super fast, why?
337 11 1-
- olivierth
- Member
- 1280 posts
- Joined: April 2017
- Offline
-
- olivierth
- Member
- 1280 posts
- Joined: April 2017
- Offline
-
- malexander
- Staff
- 5342 posts
- Joined: July 2005
- Online
`instanceFile` is a special attribute that the viewport recognizes to do instancing. It loads whatever file that attribute is pointing to and draws it instead of the point markers. It'll be naturally slower if the geometry in the file is anything more that a few polygons. It shouldn't be super slow unless the file is millions of polygons, though.
-
- olivierth
- Member
- 1280 posts
- Joined: April 2017
- Offline
-
- tamte
- Member
- 9752 posts
- Joined: July 2007
- Offline
-
- olivierth
- Member
- 1280 posts
- Joined: April 2017
- Offline
-
- malexander
- Staff
- 5342 posts
- Joined: July 2005
- Online
In SOPs, the display and render flags can be on different nodes. You could try setting the attribute "file" and do your scattering, and display that. Then put the render flag on an AttribRename SOP connected to the display SOP that renames file to instancefile. The viewport won't see the instancing but renderers will.
If you'd like to submit a bug with your HDA and sample hip file, we can take a look and determine why exactly it's slow. 3fps seems a bit excessive even for instancing.
If you'd like to submit a bug with your HDA and sample hip file, we can take a look and determine why exactly it's slow. 3fps seems a bit excessive even for instancing.
-
- tamte
- Member
- 9752 posts
- Joined: July 2007
- Offline
If you go with Display/Render flag make sure you test it thoroughly
I remember having issues when using Arnold that sometimes the geo that got to renderer was in the display flag stream, it was never when the Disp/Render flags were directly one level under the object being rendered, but when a Subnet or HDA internally had Display/Render stream and the geo was further Object merged to a different place etc, Mantra was fine however
And while Id expect it to work regardless of the renderer as I assume Houdini is the one that reaolves which streams to cook before it hands over the geo to renderer it simply was not working in those specific cases with Arnold so keep that in mind if you start seeing similar behavior
I remember having issues when using Arnold that sometimes the geo that got to renderer was in the display flag stream, it was never when the Disp/Render flags were directly one level under the object being rendered, but when a Subnet or HDA internally had Display/Render stream and the geo was further Object merged to a different place etc, Mantra was fine however
And while Id expect it to work regardless of the renderer as I assume Houdini is the one that reaolves which streams to cook before it hands over the geo to renderer it simply was not working in those specific cases with Arnold so keep that in mind if you start seeing similar behavior
Tomas Slancik
CG Supervisor
Framestore, NY
CG Supervisor
Framestore, NY
-
- olivierth
- Member
- 1280 posts
- Joined: April 2017
- Offline
-
- olivierth
- Member
- 1280 posts
- Joined: April 2017
- Offline
Arg! I misunderstood what you were explaining. It doesn't work in my case.
The thing about my HDA, its super important that it outputs the s@instancefile to the next node. My HDA is made to be placed in a daisy chain. If I loose the s@instancefile along the way, I'm screwed.
If only there was a way that the display flag on my HDA would not have the s@instancefile BUT, the output would have the s@instancefile... I'm starting to think I'll need to have 2 outputs:
output 0: No s@instancefile (the displayed one)
output 1: with s@instancefile
...and I'll have to be careful to always use the second output to continue de daisy chain.
The thing about my HDA, its super important that it outputs the s@instancefile to the next node. My HDA is made to be placed in a daisy chain. If I loose the s@instancefile along the way, I'm screwed.
If only there was a way that the display flag on my HDA would not have the s@instancefile BUT, the output would have the s@instancefile... I'm starting to think I'll need to have 2 outputs:
output 0: No s@instancefile (the displayed one)
output 1: with s@instancefile
...and I'll have to be careful to always use the second output to continue de daisy chain.
Edited by olivierth - today 14:39:06
-Olivier
-
- npetit
- Staff
- 468 posts
- Joined: Feb. 2008
- Offline
-
- tamte
- Member
- 9752 posts
- Joined: July 2007
- Offline
olivierththat's what Display/Render flags on the nodes inside of your HDAs are for (but you can't have any Output SOPs in there in that case)
If only there was a way that the display flag on my HDA would not have the s@instancefile BUT, the output would have the s@instancefile..
your HDA will output Display stream during interactive cooking and Render stream during caching/rendering, with that caveat that Arnold sometimes seemed to force the display stream within submets or through object merges
however if you always cache your points using Houdin's file cache that should properly trigger Render streams within HDAs/submets/.. etc and if not it'd or sure be a Houdini bug so it's easier to report and actually have it resolved
Edited by tamte - today 15:48:08
Tomas Slancik
CG Supervisor
Framestore, NY
CG Supervisor
Framestore, NY
-
- Quick Links

