The availability of OptiX in the latest WIP made me do a few tests. I just wanted to compare if the performance gains of OptiX over CUDA in RhinoCycles are inline with the gains that the big brother BlenderCycles is able to achieve, but that’s not the point ot this post. Apart from comparing CUDA and OptiX on an RTX 2070 Super, I also tried a Ryzen 7 2700X, without expecting anything abnormal. For a relatively simple scene at 1800x1200px and 1000samples I got:
- RTX 2070 Super / CUDA: ~2m 44s
- Ryzen 7 2700X / CPU: ~32m 05s
The 2070 Super was over 11 times faster than the 2700X. We know GPU rendering can be much faster compared to CPU, so I wasn’t surprised that although the CPU has 8C/16T, it was much slower than the 2070 Super. To be sure I ran more tests, lower resolution and less samples because I didn’t wanted to wait half an hour for the CPU renders to finish. Then the difference was even bigger, 2700X almost 14 times slower.
Then I checked the results against the ones from blender open data:
These results have the 2070 Super only a little over 5 times faster than the 2700X. To my surprise these results are hugely different compared those in Rhino. Either RhinoCycles is magically speeding up CUDA or RhinoCycles is putting a huge penalty on this AMD CPU.
By default, only 14 threads are enabled in the Cycles settings, of course I set that to 16 before I rendered. For CPU rendering I set the tile size to 16, for GPU to 512.
I hope this is just a simple bug in the current RH7 WIP, I haven’t yet tested with RH6. If it turns out this massive performance penalty is also present in RH6, then it would be interesting to check if the same is true for Intel CPUs.