My project need to update mesh vertices each frame, so I have to ‘mark Dirty’ to update accelerate data structures every frame. When I use visual profiler to optimize the program, I realized there is a long GPU idle time, more than 20ms, after calling the Optix ‘launch’. I’ve tried different accelerator/travellers, but no big different.
I’m wondering is it possible to use a separate host thread update scene by calling ‘launch(0, 0)’, then I can utilize the GPU idle time to do some other CUDA based computation? And how much benefit can I get from it?