Capture Offscreen Work with Nsight?

Is there a way to define a frame of offscreen work for capture and profile with Nsight?

Context: I’m trying to debug, profile, and optimize our product which uses a number of cameras to do markerless motion capture. We use a combination of DirectCompute and rendering to various render targets to compute our data which we then pull back to the CPU and stream to networked clients. There’s no on-screen rendering.

Is seems like Nsight is using the call to Present to define the frame. Is there a way to insert other calls that bracket the frame somehow and tell Nsight what to capture?

Thanks,

dba

Hi dba,

Actually, if write graphics samples on D3D, you can’t ignore Present, since you need a SwapBuffer to present the render result, and Present() call is based on SwapBuffer object.

No, there is no way to insert user defined bracket which meet your requirement, since D3D don’t offer such kind of functions.

I am thinking it might be work to add a fake SwapBuffer and Present to achieve your goal.

Thanks
An

I confirmed this workaround with the NSight team as the only way to capture offscreen work. Adding an arbitrary swap chain and calling Present allows the capture to occur.

dba

Hi dba,

I’m glad that works for you.

Thanks
An