Pixels physiques vs logiques : guide interactif avec les vraies valeurs de votre ecran

Votre ecran — detection en direct :

Resolution physique
Resolution logique (CSS)
Device Pixel Ratio
1 pixel CSS =

Vous reglez votre moniteur sur 3840×2160, mais screen.width en JavaScript affiche 2560 (et screen.height affiche 1440). Vous faites une capture d'ecran — 3840 pixels de large. Vous ecrivez width: 100px en CSS et ca s'affiche en 200 pixels physiques. Que se passe-t-il ?

Votre ecran fait en realite tourner deux systemes de resolution — les pixels physiques (les vrais points materiels) et les pixels logiques (ce que le logiciel utilise pour la mise en page). Le ratio entre les deux est le Device Pixel Ratio (DPR), et il affecte absolument chaque coordonnee de votre ecran. Vos vraies valeurs s'affichent ci-dessus.

Ouvrir l'outil gratuit de coordonnees d'ecran

Les valeurs de votre ecran — en direct

Avant de plonger dans la theorie, voici les valeurs actuelles de votre ecran :

window.devicePixelRatio
screen.width × screen.height
Pixels physiques (estimes)
1 pixel CSS en pixels physiques

Ces valeurs proviennent des API reelles de votre navigateur — pas d'estimation. La resolution physique « estimee » est calculee comme screen.width × DPR et screen.height × DPR ; elle correspond au materiel reel dans la plupart des cas, mais peut etre affectee par la super-resolution virtuelle du GPU ou le zoom du navigateur. Si le DPR est de 1,0, vos pixels physiques et logiques sont identiques. S'il est superieur, il y a une transformation entre ce que le logiciel voit et ce que votre ecran affiche. Utilisez notre outil de coordonnees d'ecran pour voir l'impact en temps reel sur les positions de la souris.

Que sont les pixels physiques ?

Un pixel physique (aussi appele pixel materiel ou device pixel) est un seul point reel sur le materiel de votre ecran. C'est le plus petit element adressable de votre affichage. Sur un ecran LCD, chaque pixel physique est compose de trois sous-pixels (rouge, vert, bleu) qui ensemble produisent un point colore.

La resolution physique de votre moniteur vous dit exactement combien de ces points il possede :

Les pixels physiques ne changent jamais pour un ecran donne. Un moniteur 4K a toujours 3840×2160 pixels physiques quel que soit le reglage de mise a l'echelle Windows. Le materiel est fixe.

Pour un comparatif de ce que differents nombres de pixels physiques signifient pour les systemes de coordonnees, consultez notre guide Comparatif de resolutions d'ecran.

Que sont les pixels logiques (pixels CSS) ?

Un pixel logique (aussi appele pixel CSS, pixel independant du peripherique (DIP), ou point sur macOS) est une unite de mesure que le logiciel utilise pour la mise en page. C'est une abstraction — un pixel logique n'est pas forcement un pixel physique.

Sur un moniteur 1080p standard a 100 % de mise a l'echelle, un pixel logique = un pixel physique. Simple. Mais sur un MacBook Pro Retina avec un DPR de 2, un pixel logique = une grille de 2×2 pixels physiques (4 pixels physiques au total). Sur un ecran 4K Windows a 150 % de mise a l'echelle, un pixel logique = une zone de 1,5×1,5 pixels physiques.

Pourquoi les pixels logiques existent : Sans eux, un bouton defini a 100×30 pixels serait minuscule sur un ecran 4K de telephone (ou les pixels sont microscopiques) mais enorme sur un projecteur 720p. Les pixels logiques permettent aux developpeurs d'ecrire width: 100px et d'obtenir une taille physique similaire sur tous les appareils, quelle que soit la densite de pixels.

Comparaison visuelle — chaque carre colore represente un pixel physique. Un pixel logique correspond a differentes grilles selon le DPR :

DPR 1 (1 px CSS = 1×1)

DPR 1,5 (1 px CSS = 1,5×1,5)

DPR 2 (1 px CSS = 2×2)

DPR 3 (1 px CSS = 3×3)

Device Pixel Ratio : le pont entre physique et logique

Le Device Pixel Ratio (DPR) est le multiplicateur qui convertit les pixels logiques en pixels physiques :

pixels_physiques = pixels_logiques × DPR

Exemples (largeur uniquement) :
  1920 logiques × DPR 1,0 = 1920 physiques  (1080p standard)
  2560 logiques × DPR 1,5 = 3840 physiques  (4K a 150 %)
  1440 logiques × DPR 2,0 = 2880 physiques  (MacBook Retina)

En JavaScript, vous pouvez lire votre DPR avec window.devicePixelRatio. Cette valeur est en lecture seule — elle est determinee par votre materiel d'affichage et les reglages de mise a l'echelle du systeme.

Le DPR n'est pas toujours un nombre entier

Windows utilise couramment des valeurs fractionnaires de DPR : 1,25 (125 %), 1,5 (150 %), 1,75 (175 %). macOS utilise exactement 2,0 pour les ecrans Retina. Les appareils Android utilisent diverses valeurs (1,5, 2,0, 2,625, 3,0, 3,5, 4,0). Un DPR fractionnel signifie que les pixels logiques ne correspondent pas proprement aux pixels physiques — un pixel logique peut couvrir une partie de plusieurs pixels physiques, d'ou le rendu de texte legerement flou sous Windows a 125 % de mise a l'echelle.

Pour comprendre comment le DPR interagit avec la mise a l'echelle DPI sous Windows et casse les scripts d'automatisation, consultez notre guide Mise a l'echelle DPI et coordonnees.

DPR par appareil : MacBook, Windows, Android, iPhone

Valeurs de DPR pour les appareils courants :

AppareilResolution physiqueResolution logiqueDPR1 pixel CSS =
Moniteur PC standard (1080p)1920×10801920×10801,01 pixel physique
Windows 4K a 150 %3840×21602560×14401,52,25 pixels physiques
Windows 4K a 200 %3840×21601920×10802,04 pixels physiques
MacBook Pro 14"3024×19641512×9822,04 pixels physiques
MacBook Pro 16"3456×22341728×11172,04 pixels physiques
iPad Pro 11"2388×16681194×8342,04 pixels physiques
iPhone 15 Pro2556×1179393×8523,09 pixels physiques
Pixel 82400×1080412×915~2,625~6,9 pixels physiques
Samsung Galaxy S242340×1080360×780~3,09 pixels physiques

Remarquez la logique : Apple s'en tient aux DPR entiers (2 ou 3). Windows utilise des valeurs fractionnaires (1,25, 1,5, 1,75) pour un controle plus fin de la mise a l'echelle. Les applications et navigateurs modernes gerent le DPR fractionnel proprement avec le rendu sous-pixel — seules les applications anciennes non sensibles au DPI sont etirees en bitmap et paraissent floues. Android varie selon le fabricant.

Ce que cela signifie pour les coordonnees d'ecran et l'automatisation

Alors, qu'est-ce que ca veut dire en pratique ?

Reference rapide : quel systeme de coordonnees utilise-je ?

Outil / APIType de coordonneesResolution signalee
PyAutoGUI (par defaut)LogiqueLogique (par ex. 2560×1440)
PyAutoGUI (avec SetProcessDPIAware)PhysiquePhysique (par ex. 3840×2160)
AutoHotkey A_ScreenWidthLogiqueLogique
Windows GetCursorPos (sensible au DPI)PhysiquePhysique
JavaScript screen.width/heightLogique (CSS)Logique
JavaScript window.innerWidthLogique (CSS)Logique
CSS getBoundingClientRect()Logique (CSS)N/A
macOS NSScreen (Quartz)Points (logique)Points

Questions frequentes

Le DPR est-il la meme chose que le DPI ?

Liés mais differents. Le DPI (dots per inch) mesure la densite physique de pixels — combien de pixels tiennent dans un pouce d'ecran. Le DPR (device pixel ratio) est le rapport entre pixels physiques et logiques. Un ecran a haute densite peut avoir un DPR de 1 si le systeme ne le met pas a l'echelle. Le DPR concerne le mappage logiciel ; le DPI concerne la densite materielle.

Pourquoi mon Mac Retina est-il plus net que mon PC Windows 4K ?

macOS utilise un DPR entier (2,0), ce qui signifie que chaque pixel CSS correspond exactement a une grille 2×2 de pixels physiques — un mappage propre de 4:1. Windows utilise couramment un DPR fractionnel (1,25, 1,5, 1,75), ce qui signifie qu'un pixel CSS correspond a un nombre non entier de pixels physiques. Cela provoque des artefacts de rendu sous-pixel et une leger flou dans les applications non sensibles au DPI.

Puis-je changer mon DPR ?

Vous le modifiez indirectement via les parametres de mise a l'echelle du systeme. Sous Windows : Parametres → Systeme → Affichage → Mise a l'echelle et disposition. Sur macOS : Reglages Systeme → Moniteurs → choisissez « Par defaut » pour le DPR natif ou « Mise a l'echelle » pour une resolution logique differente. Sur Android : Parametres → Affichage → Taille d'affichage / Taille de police (controle limite). Le DPR change instantanement, mais certaines applications doivent etre redemarrees pour prendre en compte le changement.

Pourquoi window.devicePixelRatio change-t-il entre les moniteurs ?

Si vous faites glisser votre navigateur d'un moniteur externe a DPR 1,0 vers un ecran de portable Retina a DPR 2,0, window.devicePixelRatio se met a jour pour refleter le DPR du nouveau moniteur. Vous pouvez ecouter ce changement avec l'evenement matchMedia('(resolution: ' + dpr + 'dppx)') change. C'est pertinent pour les applications web qui doivent gerer des configurations DPI mixtes.

Ouvrir le traqueur de coordonnees en direct Guide Mise a l'echelle DPI et coordonnees