Network rendering, any help?

Post your tutorials and help questions in this forum
Jahun
Posts: 40
Joined: Thu Nov 15, 2007 7:55 pm

Network rendering, any help?

Post by Jahun »

Just purchased Kray since I was getting ridiculously long rendertimes on Fprime (before noise was down enough). The difference is staggering, and since it is for an animation due next week it really is important to keep rendertimes down.

Now it seems I may be able to push it to rendertimes my quad core can handle, but I am not 100% sure. So I started looking for the network rendering this Kray seems to be able to do.

However.. I can't find anything about it.. Anyone here that can help me with it? In the description of the plugin it talks of 5 nodes rendering.. how?
Any help on this would be very greatly appreciated.


Or is the only working option with newestversion to render a GI solution and have multiple nodes work on their own frame range?

(my lighting is if it must be, static)

Can you use time interpolation for something like the opening of a door?

Thanks!
direwolf
Posts: 66
Joined: Sat Mar 31, 2007 1:11 pm

Post by direwolf »

Here you go:

http://www.kraytracing.com/forum/viewto ... t=two+pass

it's halfway the topic.
Jahun
Posts: 40
Joined: Thu Nov 15, 2007 7:55 pm

Post by Jahun »

Hmm thanks for the pointer but I read that one.. But I don't really understand it yet..


So I got 2 pc's running on a LAN and both compute frames for a animation. Seems ok. I do have some problems though:

Image

and a render from the other pc:

Image



The lighting is different but consistently different. How come?



What I did: Rendered a photon estimate (precomputed) with the main pc which saved a .gi file into the shared directory(do you need to do that?). Then both pc's are set to render with GI mode Shared for all frames working on same GI file and "both" on.

That gives me the two different results...

any help?


ps: this is just a simple test scene obviously.. also I turned on show samples.. perhaps it gievs a clue.. dunno

ow and, damn that was a fast reply :)
Jahun
Posts: 40
Joined: Thu Nov 15, 2007 7:55 pm

Post by Jahun »

Oki..


it is fixed now it seems. The only real thing I remember to have changed is not rendering a photon estimate that saves a GI file. So now I just make sure both pc's have the same scene file etc.. and save to the same directory, and I hit "render sequence" on both.

It seems to work fine, even though they don't seem to share that GI file between the 2 of them. I only see the images being written.

So now I have what it seems a correct animation, rendered by 2 pc's to a common network drive, both on their own GI file. (so first frame was slow, rest alot quicker)

Is this the correct way of doing it? (just to make sure I don't run into odd problems later.. I would like to stay away from 2 pass solutions)

Thanks!
NiGMa
Posts: 129
Joined: Thu Sep 14, 2006 2:38 am
Location: Australia

Post by NiGMa »

I think the proper way is to have a shared GI file between the two PC's.

I'm doing an animation too.
Jahun
Posts: 40
Joined: Thu Nov 15, 2007 7:55 pm

Post by Jahun »

But how do you share it and does it need to be made beforehand?


I am telling the 2 Kray plugins to load/save ("both" on) to the same name and path... but they only truly write it there when the animation is done...

So they are not using eachothers info I'd say.. for me
NiGMa
Posts: 129
Joined: Thu Sep 14, 2006 2:38 am
Location: Australia

Post by NiGMa »

As far as I know, it will save after each frame. hmmm, let me test this.
NiGMa
Posts: 129
Joined: Thu Sep 14, 2006 2:38 am
Location: Australia

Post by NiGMa »

Ok, heres how it should work.

On the both machines you need to set the render range to be the same, e.g. 100-200. You set the GI mode to photon mapping, BOTH and put the same filename in both PC's, you will need to map a shared network drive/path for this.

Then you start one of the PC's by clicking 'render sequence' this is important, do not click 'render frame'. The render starts and you will see it scan through frames 100-200, it is working out where to shoot all the photons, then after the first frame is complete, cancel the render, when it is canceling it saves out the .gi file.

Now you can start both PC's and it should render fine, it continually checks to see which file is already rendered and it knows what frame the other PC is rendering because of the .sem file that it places in the folder.

I just tested this and it worked good. Let me know if this works for you.
Jahun
Posts: 40
Joined: Thu Nov 15, 2007 7:55 pm

Post by Jahun »

hmm thanks for the explanation. Sadly I can't check it here anymore right now, the owner of the other pc went to bed :)

I'll try it asap tomorrow.

However:
We did that test of both machines working on the same animation (and frame ranges) but without the stopping the first machine. It all seemed to work fine too.. they checked for already existing frames etc. The final result looked great and consistent now. But if they don't exchange GI info.. then if there is one of them alot slower in rendering, the next frame it will have to do will be greatly changed since the other node did many in between. So without the other's GI info.. it will need to renew most.
(but you probably already knew this was my issue, or at least I'd like to have cleared up :) )

I wonder if perhaps in your case, it will check the GI file for updates in between... not sure though, because it may run into file issues. It is doing some fancy file renaming tricks to make sure they don't get in eachothers way for frames. not sure if it does the same for the gi file.

So, thanks, I'll try it tomorrow to see if there's a difference.. not sure how to spot the difference yet though..
direwolf
Posts: 66
Joined: Sat Mar 31, 2007 1:11 pm

Post by direwolf »

Here's how you should do it:

Twopass animation methode
Render with GI mde: Shared for all frames.
Set LightWave to render every 10th frame.
AA-settings to none.
Prerender @ 100%.

<<<>>>

Now share the GI-file with all other computers.

<<<>>>

Set prerender to 0%.
FG Rays min/max 0.

Set AA-settings and render.
Jahun
Posts: 40
Joined: Thu Nov 15, 2007 7:55 pm

Post by Jahun »

Thanks Direwolf.. interesting. I should try this 2 pass thing too asap.

But could you please explain it a bit further.. I read your thread etc but a bit more info could help alot. I hope you can save the time for it.


Especially (to be sure):

-On the first pass, do I only render a photon estimate, or full final foton mapping as it should be, but without AA?

-When done, do I kill all the rendered frames, but leave the GI file ofcourse?

-If I set FG rays to 0, it won't shoot new rays.. won't there be issues in corners etc that became visible within the 10 frame period and invisible before the next came by? Ofcourse the 10 could be lowered but that would seriously lower the speed advantage for this approach.. I guess.

-Set Shared for all frames with only LOAD right for 2nd pass?

-Do you need to set time interpolation? or is that an entire other thing.



Sorry for all the questions.. I am still making the scene ready for the rendering that will happen in a few days and want to make sure I got this right. I greatly appreciate all this help..

I'll try this method this evening an see if it greatly speeds up things.. hope so :)



ps: god I love this plugin already.. I am not very proficient in it yet.. but it gives great results. Very happy with this purchase..
direwolf
Posts: 66
Joined: Sat Mar 31, 2007 1:11 pm

Post by direwolf »

Oke, the two-pass methode is rendering in 2 passes ofcourse.

In the first pass you render you scene at 1 pc only. Set prerender to 100% and turn off anti-aliasing. And set Kray to "Shared for all frames" with the option "Both".
You don't have to render every frame, so set your LW Render Globals to render the animation from frame 1 to whatever and set the step to 10. Slow moving animations can set to a higher stepping, like 20. Fast movement should be set to 10 or lower.
To set this to the proper amount, take incount that everything has to be rendered at the fist pass. So make a small overlap between the framestepping.

After that delete all rendered frames, otherwise kray will skip them during the second pass. And share the GI-file (if it's not a networkdrive) with the other pc's.

Idd, set FG rays (both min and max) to 0 and set prerender also to 0. This prevents from shooting new rays.
Set "Shared for all frames" to load. Turn on AA, change your renderstepping back to 1 and render away.

Time interpolation is a one-pass mode that does something similar to all above, except uses only 1 pc. If you use mulple nodes for network rendering the result may flicker (HIGHLY unrecommended).
Jahun
Posts: 40
Joined: Thu Nov 15, 2007 7:55 pm

Post by Jahun »

Ok great! Thanks alot.
I'll test it and see what speeds can be had like this.

I'm trying to gather nodes on my uni network :)
Jahun
Posts: 40
Joined: Thu Nov 15, 2007 7:55 pm

Post by Jahun »

Things seem to be going pretty well with the rendering of the animation and I just did a 60 frame test run with some nodes on a rough untextured version of a part of the model.

Most noticably, I see quite a big bright spot on the far wall (towards which the camera is slowly moving) that blinks off and on. If I render the single frame on either machine it isn't there.. so I guess it is a random thing.. it happens 1 out of 5 or so. But is ofcourse quite annoying. Any pointers on getting rid of it?


Or is it just due to my bad corner shadows anyway and if I just fix those this will go away too?

Image
NiGMa
Posts: 129
Joined: Thu Sep 14, 2006 2:38 am
Location: Australia

Post by NiGMa »

haha, thats funny! I was just going to complain about that error! I get the same thing when I try to render the two-pass trick everyone tells me about. I cannot get rid of it, even if you do your first pass at every frame instead of 10 or 20, those spotches just appear all the time.

Did you try my method? It worked really well for me and I'm happy I sorted it out.
Locked