Volume Scatter with GPU worse than with CPU in Cycles

Hi,

I noticed that when rendering volume scatter in Cycles with GPU you get worse results than when you render it with CPU. Is that a known bug or limitation? Or can this discrepancy be dealt with somehow?

Here is a split image of a volume scattered background and its node setup comparing CPU on the left to GPU on the right. The only thing I changed was the render engine from CPU to GPU and the tile size from 16 to 128. The samples in both renderings are set to 2048.
Windows 7
GTX 670
Blender 2.75 (I noticed the same in, I think, 2.73 and 2.74 as well as the 2.76 test version)


Attachments


hmm - interesting. Can say I have noticed this but I may have a play tonight. I have a scene that would show off this difference nicely.

One thing to check. I have just rendered with CPU using the latest version of blender and I noticed that when rendering using CPU - there is a “pattern” option on the sampling section of the render tab.

This was set to “Correlated multi-jittered”. When I rendered using GPU however this option disappeared - which means you’ll be rendering using “Sobol” pattern. You can activate “Correlated Multi-Jittered” for GPU - but it is an experimental feature.

I did this and the results for CPU and GPU appear identical. Here are three renders:

  1. CPU (correllated multi-jittered)
  2. GPU (correllated multi-jittered)
  3. CPU (sobol)




Can you try rendering with more samples? The difference seems to be visible only over 1024.

I rendered these with 1200 samples (CPU first, GPU second) - identical to the pixel as long as the sampling pattern is the same (Sobol in this case)



This final one was GPU with correlated multi-jittered. IMO it’s considerably worse - especially near the light entry point.


It’s possible that one or two of the available sampling techniques for volumes is simply not available for use by the GPU (due to CUDA limitations).

To verify, try doing a CPU render without the use of Multiple Importance and Equi-angular sampling.

I did some more comparisons with all kinds of settings. All renderings with 2048 samples.