Reliably calculate accurate device resolution

86 Views Asked by At

Assuming window.devicePixelRatio and device-width are set by display manufacturers and could potentially return incorrect values, are there any other reliable ways to accurately calculate the resolution of the physical pixels on a display?

I'll use my phone (Samsung Galaxy S9+) as an example, in portrait it has:

  • a screen resolution of: 1,440 × 2,960
  • a device-width of: 412
  • a devicePixelRatio of 3.5

The width of the device in physical pixels can be calculated by: device-width * devicePixelRatio

412 * 3.5 ≠ 1440

I'm willing to believe any one of those values is wrong. Perhaps the width in physical pixels really is 1442, or maybe the device-width is actually 411.42857142857142857142857142857, or the devicePixelRatio is 3.4951456310679611650485436893204‬.

Either way something's not right, and I'm left wondering how often this inaccuracy occurs and if there's any way to work around the issue without having to fallback on a database of manually updated known device resolutions.

0

There are 0 best solutions below