Fastest way to read Optix::Buffer.


I’m looking for the fastest way to read Optix::Buffer into the Host.

// initialize
buffer = sutil::createOutputBuffer(ctx, RT_FORMAT_UNSIGNED_BYTE4, width, height, false);

// main loop
const uint8_t* buffer = (uint8_t*)buffer->map(0, RT_BUFFER_MAP_READ);
// processing something...

buffer->map() takes 1ms on 1280x720 buffer.

Please tell me if there are other faster methods.


1280 * 720 * 4 bytes / 1 ms <==> 3,686,400 bytes / ms <==> 3,686,400,000 bytes / s

You’re reading over the PCI-E bus and depending on the PCI-E generation and number of electrical lanes of that slot in your motherboard and the precision of your measurement, 3.5 GB/s could be an expected result.

Find a PCI-E performance table here: