Drawbacks of progressive refine?

As I mainly do stills progressive refine option in Cycles is a godsend since I can stop it when I see that the image is to my liking. But what are the drawbacks of this option? I heard it is slower, but how much? I think with stopped rendering process I won’t get render passes to compositor - is there a way to stop render and get them?

Basically its slower due to the way CPU’s work, look up details about cache locatily and CPU L1/2/3 Cache’s if your interested :slight_smile:

In simple terms, CPU’s have a small amount 2-20MB of super fast memory called the L1/2/3 Cache, and reading/writing from that is a lot faster than reading/writing from ram. Because using tiles focus’s more rays on the same area, data in the CPU cache can be reused more often rather than having to continually access the slower RAM instead, while progressive needs data from all over the scene as it is sampling the whole scene, so less data is able to be reused from the cache.

As an example, I just ran a 100 Sample test scene with ~470k polygons that took 220s to render with Progressive, and 158s to render with 32x32 tiles. Progressive took an extra 39% of time to render in this case.

Yeah, but what about GPU?

For me refine type render is huge advantage since I got whole image done in seconds and can let it go as long as I want (even if it takes more time but I wasn’t aware that it’s near 40%) and tile based render takes as long as it really needs.

I think GPU’s are less so affected (I don’t have an nVIdia GPU to test with) but they prefer larger tile sizes anyhow (around 256x256) and the main memory bandwidth of a GPU is much higher than a CPU, and they have a lot less cache per core as well.

Your best bet would be to just setup a basic test scene with a decent number of polys, maybe 200 samples and see if the speed difference for GPU in progressive vs tiled is significant enough for you?

Sorry for bringing this up again 4 years later, but I can’t find any current topic on this particular subject.
I have a HP Z800 work station, loaded with a Tesla k20c and 2 Tesla K8 (and a gtx 670 for displays, not computing). When I call Nvidia CUDA toolkit GPU manager to display all gpu’s performance percentages on the screen, all gpus work at 100% or close on this machine. Using progressive refine.

Then, I take the same scene downstairs to the GPU server, which is loaded with 7 tesla M2090 plus a quadro 5000 (not computing for this test) and all cards go down to 50% performance when using progressive refine. If I switch to tiles, unchecking progressive refine, all gpu go up to 100% performance and it blasts through the scene.

I’m trying to diagnose the problem, I haven’t been able to install the m2090 drivers on that server, but they work 100% without progressive refine…so anyway, I’m wondering if anyone out there has experiences to share on this regard. As of why using progressive refine, in my particular case I do architectural interiors, I find it useful to have a real time render when I move through the scene.

Thanks everyone