Contexto: estoy usando window.devicePixelRatio para determinar la resolución de visualización de algunos lienzos en un sitio web.
Según mi leal saber y entender, el valor de DPR debería cambiar al acercar y alejar un sitio web. Esto es lo que sucede en Chrome. Pero no parece suceder en Safari. Consultar el valor de window.devicePixelRatio o devicePixelRatio desde JS Console siempre devuelve el mismo valor, sin importar cuánto acerque o aleje. Probé esto en tres computadoras separadas, todas ellas Mac con Safari v13.1.2, v14.1.2 o v15.1.
La página Web Docs de MDN en Window.devicePixelRatio implica que el DPR debe cambiar al hacer zoom, tanto en su definición en la parte superior como en su código de ejemplo. La especificación vinculada por MDN dice lo siguiente (énfasis en negrita mío):
El atributo devicePixelRatio debe devolver el resultado del siguiente algoritmo para determinar la proporción de píxeles del dispositivo : Si no hay ningún dispositivo de salida, devuelva 1 y anule estos pasos. Deje que el tamaño de píxel de CSS sea el tamaño de un píxel de CSS en el factor de escala de zoom de la página actual y en un factor de escala de zoom de pellizco de 1,0. Deje que el tamaño de píxel del dispositivo sea el tamaño vertical de un píxel de dispositivo del dispositivo de salida. Devuelve el resultado de dividir el tamaño de píxel de CSS por el tamaño de píxel del dispositivo .
¿Debería cambiar window.devicePixelRatio de Safari con el zoom? Si el DPR no cambia con el zoom, ¿hay alguna forma diferente de determinar una buena resolución de visualización del lienzo en Safari?
Esta es mi primera pregunta sobre StackOverflow, así que avíseme si se puede mejorar algo.