Render strips

Due to memory errors I have been rendering a lot of still images in Vray using render strips (with viewport configure: sub-region settings). While this works fine, it takes forever and you have to change the region and hit render every time a strip finishes. Does anyone know of a script or utility that will allow one to automate this process?

Thanks,

Aaron

strip rendering using backburner is very good for doing large images.

if you submit the job to the queue manager, (using a pre-rendered lighting solution) you can divide the image across one or more machines.

its very quick and it will stitch the image together for you as well.

ah, I didn’t know you could render strips in backburner… good to know.

But most of the time, I get the memory errors when rendering the irradiance map, so this wouldn’t solve the problem.

Cheers.

ive realised stiprendering works rather will and since its not cauculating the irradiance map for the entire image but only the stip then its more memory friendly

I do the same for finals, but about 25% of the time I get enough difference in IR calcs between the stripes that it is noticable. When that happens, I precalc IR on one machine, then stripe across the network.

Region rendering is not render strips. Look into the “split scanline” or “render stripes” in the help file for the feature in backburner. It will take your scene and break it up into strips automatically through the network rendering interface.

Currently I haven´t noticed differences between the IR map calculations on each stripe as far as your rendering settings are pretty high (as they should be if ur rendering finals anyway).

In past versions of Vray there were issues regarding pixel ratio or something like that so u ended facing strange and hard-to-solve divergences comparing a stripe to another. Now, render stripes works like a charm with vray and, besides, it stitches all the stripes automatically when the job is done.

However u can choose to keep the stripes unstitched, just in case u want to do it yourself. It´s useful when some of the stripes crash when rendering and u want, at least, to use a part of the image and only rerender what is missing, maybe with lower settings or some local optimizations…
:slight_smile:

Thanks for the help. I guess the question is, or what I need to test is whether through backburner, if I assign render strips, will each machine calculate the IR for its own strip? Because of memory issues I cannot calculate the IR as a whole, which is why I was “strip” region rendering to begin with.

Yes, each machine will calculate only its own strip.

For best results, you should still IR calc on one machine (*incrementally higher and higher res if you want to save time). Then send to backburner in strips. I like to send like 60 strips even if i have only 10-20 machines…or I try to do it so that 1 strip is the size of a bucket (at least).

Using this method, our IR calc takes only minutes..and 6000 pixel images take anywhere from 20mins to 2 hrs. Not a bad way to go!

*Let’s say your final is 6000 pixels across…so single frame at 375-incremental add-750-incremental add-1500-incremental add-3000.
…and make sure you check ‘don’t render final image’ after the first calc.

olitech -

I precalc finals too (before stripes), but I don’t follow your method. Could you elaborate?

Yes, olitech please elaborate. Are you saying that you start doing the IR pass at a low resolution, and then recalc again at progressively higher resolutions with the “add incremental” option? So basically, you keep adding IR passes together to get a quality IR map without having to do it at the full resolution. Interesting idea…

Absolutely correctamundo!

So, just to recap:
If your target res is 6000 pixels, divide by half (3000), divide again (1500), divide again (750)…
So, do a single frame IR calc @750 (save map)
Next, increase res to 1500…click ‘don’t render final image’…incremental add (map saved)
Next, increase again to 3000, incremental add
Finally, increase to 6000…unclick ‘don’t render final image’…
Send to backburner in many, many strips…
Then go home to your significant other, kids…have dinner…see what’s on TV, fix the dripping faucet, put up the curtains, etc. :smile:

We’ve been doing it this way for almost 2 years now.
I just thought everyone did it this way…If not, then pleeease try it and have a life.

btw:CCS…didja get my present?

Ok…
I understand what you are doing - but why? I understand rendering stripes and precalcing IR. But what is the benefit of progressively calcing rather than doing a full calc up front?

(And yes, I got it, but sadly have been too busy to look at it. Sorry! And thanks! :smile: It’s on my list for today! I wanted to chat with you about something else as well. Is that same email a good one to write you?)

But what is the benefit of progressively calcing rather than doing a full calc up front?

I’m convinced it’s faster to calculate the imap…but that’s just me.
And yes CCS, that is my main email.

Hmmm. Interesting.

So who’s gonna volunteer to run a few tests?

:smile:

ok…i guess i’m on crack about the speed part…

I just did a calc to 3000 pixels (1.2million faces):
single calc: 7m48s
incremental: 7m18s

single calc…out of 4 machines i tried this on, 1 crashed

This was a real ghetto ‘test’…just had to see

A few questions…

1. Stability and usability aside, how does rendering out in strips compare in speed to using DR? Are there any other advantages?

2. Is stripe rendering only available in Max (i.e. not VIZ)?

Thanks,
David

From my own experience I can tell render strips overcomes DR when it comes to stability. Dont even try DR in complex scenes if your host machine has not the 3Gb thingy, because if it crashes, everything does, although the other machines contributing to DR could go on rendering, but the main machine is not responding, so they stop. So, if it crashes, speed is zero :smile:

Render to strips (many!) is also more memory friendly, so u can find yourself sending 50+ strips to backburner in order to avoid memory crashes. I´ve found this is sometimes the only way to get the job done, combined with dynamic memory switch, of course :slight_smile:

In addition to what panthon said, strips use BB which also allows you to stack a series of jobs. DR works (when it works) only for the current camera/frame.

That said, I would still love to use DR more for working renders/image previews. I have just found it far too unstable to use.