Bit Depth Conversion: From 24 to 64 to 24

I think I read an explanation of this last weekend, but I cannot find it anymore; so I am asking why.

I have a FLAC file 24bit / 96kHz, which represents the maximum supported by my DAC. Because of that, I do not upsample anything, but I am still using some features of the DSP engine.

I was just wondering why Roon is converting the 24 bit to 64, to convert it back to 24. Is it because I am using other features of the DSP engine?

Yes – when using any of the DSP options, bit depth is increased so 64-bit floating point calculations can take place.

Yes. Roon converts to (highly precise) 64-bit floating point for all DSP operations. Then it converts back to 24-bit integer to send the audio to your endpoint. (For some endpoints, e.g. AirPlay to an Airport Express, it will convert to 16-bit integer).

Thank you @RBM and @joel!