We're currently working on the video settings UI for our project, and we've run into a bit of a presentation issue regarding the enumerated display modes. In our past DX9 projects, we presented a list of modes to the user in the following format:
<width> x <height>, (<refresh rate> Hz[, Widescreen])
However the issue in DX11 is that multiple display modes can be enumerated that have different refresh rate numerators and denominators, yet result in the same integral value when divided, regardless of rounding (i.e. 59940 / 1000 and 59950 / 1000). Plus, multiple display modes can have identical widths, heights, and refresh rate ratios, yet have different scaling values (unspecified, centered, stretched).
My question is, what's the best practice for building a list of unique resolutions for presenting to the user? We'd like to keep it simple so that the user is only making a choice based on width, height, and integral refresh rate (numerator / denominator), however if multiple display modes have the same values, which one takes precedence? Why would I choose 59940 over 59950?