OSPRay volume rendering slowness


Using ParaView 5.8.1 and 5.9-RC2, Ospray Volume Rendering mode is slower than Raycast only.
Is that expected, is this an issue ?

The comparison is raycast vs raycast right? In that case not expected. What performance delta do you see?

Yes, here is how to reproduce very easily.

  • Open ParaView binary release (5.8.1 or 5.9-RC2)
  • Wavelet, -100, 100, -100, 100, -100, 100, Apply
  • Edit -> Settings -> RenderView -> Show Annotations
  • Use Volume Rendering
  • RayCastOnly -> 20 fps
  • OSPray based -> 5 fps

Ah that’s VTK’s CPU ray tracer vs OSPRay’s CPU ray tracer then. Last time I profiled that comparison was back in PV 5.2 or no longer have a good idea of what performance characteristics to expect in practice so I don’t know if this is a regression or not.

Instruction level parallelism should help OSPRay win but there are many other factors that can overwhelm that. Data representation and sample step differences come to mind. Note that in this specific mode (ospray volume rendering within GL as opposed to the whole view being ospray) there are depth buffer readback and pixel writeback costs too that slow it down.

@jfavre had a really good paper that looked at it closely a year or so ago.