HUSK KSO

124 views
Skip to first unread message

Dale Voges

unread,
Jun 20, 2023, 11:23:00 AM6/20/23
to Royal Render Knights Tavern
Hi there. 

Im just wondering if HUSK has a method of keeping the scene open like houdini does.

I've been doing some tests and a kick render vs a husk render render exactly the same but the frame time is 0:45 seconds to husks 1:30.

My assumption is that husk is a bigger program that needs to start and loads packages and so on. So I was wondering if there is a way to keep it open. 

According to the husk documentation, there is this setting

--restart-delegate n

Normally, husk uses USD delta operations to make multiple frame rendering more efficient. The delegate is only told about scene data that changes frame-to-frame so it can share work between frames.


Which is a way to stop it from sharing resources.
Does this mean that it is doing it already?

My husk.cfg is using this command
CommandLine=
"<Exe>"
        --usd-input "<Scene>"
--make-output-path
--output "<ImageDir><ImageFilename><FNimgPadded><ImageExtension>"
--camera "<camera_path>"
--frame <FN>
--renderer HdArnoldRendererPlugin
--purpose geometry,render
--complexity veryhigh
--snapshot 300
--verbose 2

Any help would be greatly appreciated






RR, Schoenberger

unread,
Jun 20, 2023, 12:52:03 PM6/20/23
to rrKn...@googlegroups.com

Hi

 

I am sorry, but it is not possible.

The commandline flag restart-delegates controls if the usd data should be re-read if you tell husk to render multiple frames from one .usd file.
(Sequence Divide setting in RR. Works for single .usd files with all frames included only)

But RR can not tell Husk to render some different frame after it finished its execution.

 

So the only option is to see if the startup can be optimized.

 

I see 3 parts which could cause the slowdown.

  1. Husk itself.
    Is husk installed locally on the machine?
    HDD or SSD?
  2. Plugins
    Any Houdini plugins set in the enviromment?
  3. .usd file
    The scene data itself is too large.

 

 

 

 

I would try to render a simple .usd file with a cube to eliminate 3).

Enable the rrJob option „Log Render Workload“ (3rd column RR Options) to see TCP traffic and CPU usage over time.


Check the render logs for log messages of husk.
As you can see in this example, the time to start husk with all plugins is about 1 second:

R 12| [18:47:16] Start Wall Clock Time: 0:00:00.73

 

Simple .usd scene is loading within 2 seconds:

R 13| [18:47:16] >>> Render E:/3D/houdini/render/18.5_USD.karmarendersettings.0001.exr

R 14| [18:47:17] Load Wall Clock Time: 0:00:01.53

 


What are your times?

 

PS:

I know one company that uses REZ with many plugins and their husk take 1 to 5 minutes to start.

(They want to optimize it. After the current project..)

 

 

regards,
Holger Schönberger

 

Please use the rrKnights Tavern
or our support system for new questions.

Dale Voges

unread,
Jun 21, 2023, 8:55:04 AM6/21/23
to Royal Render Knights Tavern
Thanks very much Holger, that makes me feel a lot better. I thought I had been missing something about keeping the scene open. It gives me a base to work from. 

Your idea for using the wall clock was a great help. Our husk exe is local but the packages that are loading in are network based. I did some tests if you're at all interested:

Arnold and Redshift Network location:
50 Seconds

Arnold and Redshift Local location:
10 Seconds

Arnold Network location:
20 Seconds

Arnold Local location:
8 Seconds

So the logical move would be to localize the render plugins

On a side note. I dont know if you've experienced this before. 
I'm having to kill a lot of applications after the render is complete, otherwise it could take an extra 20 min per render, as it waits for the processes to free up


# Kill these process, they seem to hang at the end of the render
CommandLine=
"<rrBin64>rrKillWait" 1 hserver true

CommandLine=
    "<rrBin64>rrKillWait" 1 ADPCLIENTSERVICE true

CommandLine=
    "<rrBin64>rrKillWait" 1 ADSKLICENSINGAGENT true

CommandLine=
    "<rrBin64>rrKillWait" 1 CONHOST true

CommandLine=
    "<rrBin64>rrKillWait" 1 ADSSO true

RR, Schoenberger

unread,
Jun 21, 2023, 9:47:15 AM6/21/23
to rrKn...@googlegroups.com

Hi

 

By default, RR has setup Redshift and Arnold as network install.

But RRs network install is automatically synced to the local drive.
The render logs should state lines like this:

     echo * RedShift source path is set to ….

     echo * RedShift cache path is set to ….

 

But I do not know which RR version you use and if you still use our default rrEnv files.

 

 

 

 



"<rrBin64>rrKillWait" 1 hserver true


If you kill it, you might not be able to use 2 job threads on a client.
From our rrHelp Mantra page:
„Freezed“

Mantra requires to run the hserver.

If the hserver is not started before the rrClient starts to render, then mantra starts the hserver.

hserver continues to run after Mantra finished.

And as long as a child process (hserver) is running, the render script will not finish.

Workaround: Please start hserver with the system.

Please see https://www.sidefx.com/docs/houdini/ref/utils/sesinetd.html



"<rrBin64>rrKillWait" 1 ADPCLIENTSERVICE true

Killing it was required for 3dsmax only so far.
Perhaps they changed something.


"<rrBin64>rrKillWait" 1 ADSKLICENSINGAGENT true

Was not required to kill within any app until now.
Perhaps they changed something.




"<rrBin64>rrKillWait" 1 ADSSO true

We do that for Maya, 3dsmax or Houdini+Arnold as well.
All Autodesk products use it.
We will add it to Husk.

 

 

"<rrBin64>rrKillWait" 1 CONHOST true

Do NOT kill conhost.
This application has started the whole batch file that RR uses.

It should close as soon as the other apps have been closed.

 

 

 

We might add env vars to disable the autodesk data collection as well.

Then it should be a bit faster to load/start Arnold.

If you want to try it, then please add this line to your rrEnv file:

ARNOLD_ADP_OPTIN = 0

Francois Lord

unread,
Jun 27, 2023, 12:35:27 PM6/27/23
to rrKn...@googlegroups.com

Hi Dale,

Keep in mind that husk uses Hydra where kick does not. The people at SolidAngle say that this can be a big performance difference. They insist we should use kick directly instead of husk, or you can use sick which is a drop-in replacement of husk. In both cases, the usd file is loaded directly without being translated to hydra (which has its own scene representation that is not USD). Unfortunately, Arnold does not support all the same features via the delegate and via the procedural. That means when you work in Solaris with the viewport, you see a certain result and when you render through kick, the result can be different. I have seen enough differences to stay away from kick because of that.

F

--
If you reply, the message is send to the user group which is sufficient and desired.
("Reply All" might send the message twice to the last author which is not required.
Replying "in private" prevents other users to see the answers and might not be seen by the single receiver if he has email rules in place.
If you want to talk to us in private, please use support@RoyalRender instead)
---
You received this message because you are subscribed to the Google Groups "Royal Render Knights Tavern" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rrKnights+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rrKnights/d4ea4ff7-90c2-45e3-8ac2-b69df4ef8e82n%40googlegroups.com.

RR, Schoenberger

unread,
Jun 27, 2023, 12:42:09 PM6/27/23
to rrKn...@googlegroups.com

 

>They insist we should use kick directly instead of husk

Note that RRs Houdini plugin set Kick as render app for .usd files (if Arnold is set in the LOP in Houdini).

Dale Voges

unread,
Jul 3, 2023, 5:49:29 AM7/3/23
to Royal Render Knights Tavern
Thanks all for the help. 
Yeah, I've also noticed a lot of render difference between houdini viewport and a kick render. A lot of features that houdini has built in don't translate well to kick eg. geom subsets and displacement 
https://forums.autodesk.com/t5/arnold-for-houdini-forum/solaris-displacement-not-working-kicking-a-usd-file/m-p/11917028
I've gotten my husk down to 8 seconds by selectively loading in specific pluggins (Arnold and redshift) I feel 8 seconds is negligible considering what we gain in using husk

RR, Schoenberger

unread,
Jul 3, 2023, 6:18:40 AM7/3/23
to rrKn...@googlegroups.com

Hi

 

> Yeah, I've also noticed a lot of render difference between houdini viewport and a kick render. A lot of features that houdini has built in don't translate well to kick eg. geom subsets and displacement 


So do you need an way in RR that you can choose if your .usd files should be rendered using Hush+HtoA or kick?

Dale Voges

unread,
Jul 3, 2023, 6:30:59 AM7/3/23
to Royal Render Knights Tavern
Not for me personally. We have written our own submission scripts depending on the type of job. 
But others would possibly need some sort of way to choose what render method to use 

Francois Lord

unread,
Jul 3, 2023, 7:38:40 AM7/3/23
to rrKn...@googlegroups.com

I think it would be useful, yes.

F

--
If you reply, the message is send to the user group which is sufficient and desired.
("Reply All" might send the message twice to the last author which is not required.
Replying "in private" prevents other users to see the answers and might not be seen by the single receiver if he has email rules in place.
If you want to talk to us in private, please use support@RoyalRender instead)
---
You received this message because you are subscribed to the Google Groups "Royal Render Knights Tavern" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rrKnights+...@googlegroups.com.

RR, Schoenberger

unread,
Jul 3, 2023, 12:58:46 PM7/3/23
to rrKn...@googlegroups.com

Hi


> I think it would be useful, yes.

Will be added to the July update as we are working on the Houdini plugin right now anyway.

As I am working on the help, I changed it in advance.
Renderer name “arnold-husk”:
http://www.royalrender.de/help/USD.html

 

Other new feature rrDenoise:
http://www.royalrender.de/help/Scripted.html

Francois Lord

unread,
Jul 3, 2023, 1:56:12 PM7/3/23
to rrKn...@googlegroups.com

Cool!

While you're at it, would it be possible to remove the requirement that the "Override Output Image" parm on a USD Render LOP must be set to launch a render? This is annoying because we usually don't set the output put there, but rather in the render settings LOP for Arnold which can be anywhere in the node graph. Ideally, the submitter should look at the content of the USD scene to get the output path instead of relying on parms in nodes.

Thanks!

F

--
If you reply, the message is send to the user group which is sufficient and desired.
("Reply All" might send the message twice to the last author which is not required.
Replying "in private" prevents other users to see the answers and might not be seen by the single receiver if he has email rules in place.
If you want to talk to us in private, please use support@RoyalRender instead)
---
You received this message because you are subscribed to the Google Groups "Royal Render Knights Tavern" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rrKnights+...@googlegroups.com.

RR, Schoenberger

unread,
Jul 3, 2023, 2:34:36 PM7/3/23
to rrKn...@googlegroups.com

Hi

>
would it be possible to remove the requirement that the "Override Output Image" parm on a USD Render LOP must be set to launch a render?


The old external scene reader within the rrSumitter.exe is not able to read the Solaris tree.
You have to use the new Scripted Submitter for it:



It reads the render products from the Solaris Tree:



 

 




Still required for USD ROPs/Lops  (not USD_render)

* The renderer as the Solaris tree does not contain a renderer name
   There was an idea to check if there are render settings that are renderer specific.
   But on the other side we had customers that had Karma and Arnold render settings.

*(optionally: switching between render settings)

image002.jpg
image003.jpg

Francois Lord

unread,
Jul 3, 2023, 7:21:47 PM7/3/23
to rrKn...@googlegroups.com

Thanks!

--
If you reply, the message is send to the user group which is sufficient and desired.
("Reply All" might send the message twice to the last author which is not required.
Replying "in private" prevents other users to see the answers and might not be seen by the single receiver if he has email rules in place.
If you want to talk to us in private, please use support@RoyalRender instead)
---
You received this message because you are subscribed to the Google Groups "Royal Render Knights Tavern" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rrKnights+...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages