I have a simple question for the blockSize parameter on various rendering domain functions.
For example "IntersectEyeSO" function.
The last parameter is IppiSize blockSize, and the documentation says that it's the total number of rays.
Does it make a difference (performancewise) to pass this block as 32x32 or 1024x1 (or 512x2) ?
I'm asking this because the primary rendering is OK for this use (I use 32x32 blocks for image generation), but I also have lots of secondary rays which are used to calculate the global illumination and monet-carlo sampling. Ability to pass arbitrary sizes will be useful. (It works that way, but my concern is a possible speed degradation because of the Nx1 block size).
Thanks in advance
To avoid a performance's degradation the size of block, in both dimensions, should be a multiple of 4.We've managed to optimize "Intesector" functions for such kind of blockSize. So Nx1, 1024x1 or 512x2 are bad sizes for performance.
Multiple of 4 is fine for me, I can modify my code easily to round for the optimal size.
For example I need 753 samples. Instead of using a 753x1 block, I can use a 192x4 block (a total of 768 samples). Which is slightly higher, but OK. (Or maybe 188x4 samples, which make 752, depending on the situation)