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. 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).