Knowledge (XXG)

Resolution independence

Source ๐Ÿ“

117:โ€“ doubling the pixel density in both dimensions. The laptop shipped with a version of macOS that provided support to scale the user interface twice as big as it has previously been. This feature is called HighDPI mode in macOS and it uses a fixed scaling factor of 2 to increase the size of the user interface for high-DPI screens. Apple also introduced support for scaling the UI by rendering the user interface on higher or smaller resolution that the laptop's built-in native resolution and scaling the output to the laptop screen. One obvious downside of this approach is either a decreased performance on rendering the UI on a higher than native resolution or increased blurriness when rendering lower than native resolution. Thus, while the macOS's user interface can be scaled using this approach, the UI itself is not resolution-independent. 210:, the global setting to disable DPI virtualization (only use XP-style scaling) is removed. At pixel densities higher than 120 PPI (125%), DPI virtualization is enabled for all applications without a DPI aware flag (manifest) set inside the EXE. Windows 8.1 retains a per-application option to disable DPI virtualization of an app. Windows 8.1 also adds the ability for each display to use an independent DPI setting, although it calculates this automatically for each display. Windows 8.1 prevents a user from forcibly enabling DPI virtualization of an application. Therefore, if an application wrongly claims to be DPI-aware, it will look too small on high-DPI displays in 8.1, and a user cannot correct that. 257: 79: 244: 102:, which could be demonstrated with the developer tool Quartz Debug that included a feature allowing the user to scale the interface. However, the feature was incomplete, as some icons did not show (such as in System Preferences), user interface elements were displayed at odd positions and certain bitmap 216:
adds manual control over DPI for individual monitors. In addition, Windows 10 version 1703 brings back the XP-style GDI scaling under a "System (Enhanced)" option. This option combines GDI+'s text rendering at a higher resolution with the usual scaling of other elements, so that text appears crisper
272:
library, the font rendering library for the X11 system, has a dpi setting that defaults to 75. This is simply a wrapper around the FC_DPI system in fontconfig, but it suffices for scaling the text in Xft-based applications. The mechanism is also detected by desktop environments to set its own DPI,
176:
Windows Vista also adds support for programs to declare themselves to the OS that they are high-DPI aware via a manifest file or using an API. For programs that do not declare themselves as DPI-aware, Windows Vista supports a compatibility feature called DPI virtualization so system metrics and UI
50:
introduced resolution independence into the world of computers. The intended view can be rendered beyond the atomic resolution without any artifacts, and the automatic typesetting decisions are guaranteed to be identical on any computer up to an error less than the diameter of an atom. This
151:, the DPI setting is tied to the screen resolution, depending on the driver information file.) When a custom system DPI is specified, the built-in UI in the operating system scales up. Windows also includes APIs for application developers to design applications that will scale properly. 243: 359:, which used polygons to draw its 2D content and was later remade using the same polygons at a much higher resolution. 3D games are resolution-independent since the perspective is calculated every frame and so it can vary its resolution. 181:
then scales the resulting application window to match the DPI setting. Windows Vista retains the Windows XP style scaling option which when enabled turns off DPI virtualization (blurry text) for all applications globally.
236:
or "dp" which is defined as one physical pixel on a 160 dpi screen. At runtime, the system transparently handles any scaling of the dp units, as necessary, based on the actual density of the screen in use.
319:
Gtk supports scaling all UI elements by integer factors, and all text by any non-negative real number factors. As of 2019, Fractional scaling of the UI by scaling up and then down is experimental.
292:
desktop environment began efforts to bring resolution independence ("hi-DPI" support) for various parts of the graphics stack. Developer Alexander Larsson initially wrote about changes required in
195:
adds the ability to change the DPI by doing only a log off, not a full reboot and makes it a per-user setting. Additionally, Windows 7 reads the monitor DPI from the
70:
system. The content of such a file can be interpreted at any resolution without any artifacts, even at very high resolutions not currently in use.
232:(September 2009) Android has provided support for multiple screen sizes and densities. Android expresses layout dimensions and position via the 629: 428: 199:
and automatically sets the DPI value to match the monitor's physical pixel density, unless the effective resolution is less than 1024 x 768.
196: 106:
elements were not scaled smoothly. Because the scaling feature was never completed, macOS's user interface remained resolution-dependent.
165:
is not completely high-DPI aware as displays with very high resolutions and high pixel densities were not available in that time frame.
301: 206:, only the DPI scaling percentage is shown in the DPI changing dialog and the display of the raw DPI value has been removed. In 186: 459: 63: 684:"Bug #589485 "Ignores physical display size and calculates based ..." : Bugs : xorg-server package : Ubuntu" 492: 308:
2013, GTK+ developer Matthias Clasen mentioned that hi-DPI support would be "pretty complete" in GTK 3.10 once work on
281:
functions. The latter has been rendered ineffective in Xorg Server 1.7; since then EDID information is only exposed to
785: 351: 256: 226: 537: 154: 132: 821: 413: 233: 103: 31: 240:
To aid in the creation of underlying bitmaps, Android categorizes resources based on screen size and density:
342:
font in order to scale some window controls (close, maximize, minimize, resize handles) to arbitrary sizes.
655: 178: 517: 615: 403: 247:
Illustration of how Android roughly maps actual sizes and densities to generalized sizes and densities.
669: 683: 189:. WPF applications are vector-based, not pixel-based and are designed to be resolution-independent. 701: 78: 383: 715: 585: 571: 467: 368: 332: 136: 34:
that is displayed at a consistent physical size, regardless of the resolution of the screen.
309: 297: 433: 135:
system in Windows is pixel-based and thus not resolution-independent. To scale up the UI,
23: 786:"How To Enable HiDPI Fractional Scaling For Wayland Or X11 On Ubuntu 19.04 Disco Dingo" 729: 408: 327:
Although not related to true resolution independence, some other operating systems use
59:, which provides suitable fonts of the same high standards of resolution independence. 815: 229: 166: 161:
adds resolution-independent text rendering however, the UI in Windows versions up to
140: 126: 771: 757: 743: 86:
10.8.5 System Preferences dialog, non-scaled UI (left) and scaled HighDPI UI (right)
438: 398: 47: 346:
from version 2.04 (1991) was able to adapt its window controls to any font size.
313: 207: 177:
elements are presented to applications as if they are running at 96 DPI and the
148: 110: 806: 213: 162: 158: 144: 95: 471: 603: 373: 264:
3.10 Control Center's printer settings, non-scaled (left) and scaled (right)
203: 192: 170: 559: 548: 393: 388: 378: 339: 56: 343: 336: 312:
would be completed. As of January 2014, hi-DPI support for Clutter and
98:
included some support for resolution independence in early versions of
418: 305: 282: 27: 560:
Windows XP and Windows 2000 do not natively support high-DPI screens
293: 423: 349:
Video games are often resolution-independent; an early example is
289: 261: 114: 99: 83: 278: 52: 460:"Will Resolution Independent Interfaces Ever Come to the Mac?" 356: 328: 269: 127:
Dots per inch ยง How Microsoft Windows handles DPI scaling
67: 43: 630:"Improving the high-DPI experience in GDI based Desktop Apps" 549:
Why text appears different when drawn with GDIPlus versus GDI
493:"Resolution Independent UI Release Notes for Mac OS X v10.4" 242: 304:
and the GNOME themes. At the end of the BoF sessions at
807:
Declaration of resolution-independence by John Siracusa
772:"Bug 705411 โ€“ hi-dpi support: Scale window decorations" 66:(DVI) is the file format of Donald Knuth's pioneering 616:"Scaling Windows - The DPI Arms Race - Print View" 217:than in the normal "System" virtualization mode. 331:that are able to adapt to changed font sizes. 730:"ThreePointNine/Features/Hidpi - GNOME Wiki!" 8: 702:"HiDPI support in Gnome โ€“ Alexander Larsson" 599: 597: 595: 109:On June 11, 2012, Apple introduced the 2012 273:usually in conjunction with the EDID-based 26:are rendered at sizes independent from the 42:As early as 1978, the typesetting system 744:"Bug 705915 โ€“ Support high dpi displays" 255: 77: 758:"Bug 705410 โ€“ hi-dpi support: Scale UI" 538:Where does 96 DPI come from in Windows? 450: 113:with a resolution of 2880ร—1800 or 5.2 51:pioneering system has a corresponding 716:"GTK+ meeting notes | Goings on" 518:"MacBook Pro Retina Display Analysis" 429:Vector-based graphical user interface 7: 572:"Win32 SetProcessDPIAware Function" 516:Anand Lal Shimpi (June 11, 2012). 139:has supported specifying a custom 14: 656:"Android 1.6 Platform Highlights" 670:"Screen compatibility overview" 187:Windows Presentation Foundation 185:Windows Vista also introduces 64:device independent file format 1: 634:Windows Developer Blog (MSDN) 173:scale better at higher DPIs. 143:from the Control Panel since 604:High DPI Settings in Windows 586:"Windows Vista DPI Settings" 838: 497:Apple Developer Connection 124: 234:density-independent pixel 491:Apple (April 29, 2005). 414:Scalable Vector Graphics 32:graphical user interface 16:Computer display feature 22:is where elements on a 20:Resolution independence 265: 248: 179:Desktop Window Manager 87: 404:Responsive Web Design 259: 246: 81: 335:95 onwards used the 790:Linux Uprising Blog 588:. 10 December 2006. 688:bugs.launchpad.net 384:Display PostScript 266: 249: 88: 369:Adobe Illustrator 333:Microsoft Windows 316:is ongoing work. 137:Microsoft Windows 121:Microsoft Windows 30:, resulting in a 829: 794: 793: 782: 776: 775: 768: 762: 761: 754: 748: 747: 740: 734: 733: 726: 720: 719: 712: 706: 705: 698: 692: 691: 680: 674: 673: 666: 660: 659: 652: 646: 645: 643: 641: 626: 620: 619: 612: 606: 601: 590: 589: 582: 576: 575: 568: 562: 557: 551: 546: 540: 535: 529: 528: 526: 525: 513: 507: 506: 504: 503: 488: 482: 481: 479: 478: 455: 276: 62:The terminology 837: 836: 832: 831: 830: 828: 827: 826: 822:Digital imaging 812: 811: 803: 798: 797: 784: 783: 779: 770: 769: 765: 756: 755: 751: 742: 741: 737: 728: 727: 723: 714: 713: 709: 700: 699: 695: 682: 681: 677: 668: 667: 663: 654: 653: 649: 639: 637: 628: 627: 623: 614: 613: 609: 602: 593: 584: 583: 579: 570: 569: 565: 558: 554: 547: 543: 536: 532: 523: 521: 515: 514: 510: 501: 499: 490: 489: 485: 476: 474: 457: 456: 452: 447: 434:Vector graphics 365: 325: 274: 254: 252:X Window System 223: 129: 123: 93: 76: 40: 24:computer screen 17: 12: 11: 5: 835: 833: 825: 824: 814: 813: 810: 809: 802: 801:External links 799: 796: 795: 777: 763: 749: 735: 721: 707: 693: 675: 661: 647: 621: 607: 591: 577: 563: 552: 541: 530: 508: 483: 458:Carmody, Tim. 449: 448: 446: 443: 442: 441: 436: 431: 426: 421: 416: 411: 409:Retina display 406: 401: 396: 391: 386: 381: 376: 371: 364: 361: 324: 321: 275:DisplayWidthMM 253: 250: 222: 219: 122: 119: 92: 89: 75: 74:Implementation 72: 39: 36: 15: 13: 10: 9: 6: 4: 3: 2: 834: 823: 820: 819: 817: 808: 805: 804: 800: 791: 787: 781: 778: 773: 767: 764: 759: 753: 750: 745: 739: 736: 731: 725: 722: 717: 711: 708: 703: 697: 694: 689: 685: 679: 676: 671: 665: 662: 657: 651: 648: 636:. 19 May 2017 635: 631: 625: 622: 617: 611: 608: 605: 600: 598: 596: 592: 587: 581: 578: 573: 567: 564: 561: 556: 553: 550: 545: 542: 539: 534: 531: 519: 512: 509: 498: 494: 487: 484: 473: 469: 465: 461: 454: 451: 444: 440: 437: 435: 432: 430: 427: 425: 422: 420: 417: 415: 412: 410: 407: 405: 402: 400: 397: 395: 392: 390: 387: 385: 382: 380: 377: 375: 372: 370: 367: 366: 362: 360: 358: 354: 353: 352:Another World 347: 345: 341: 338: 334: 330: 322: 320: 317: 315: 311: 307: 303: 299: 295: 291: 288:In 2013, the 286: 284: 280: 271: 263: 258: 251: 245: 241: 238: 235: 231: 228: 220: 218: 215: 211: 209: 205: 200: 198: 194: 190: 188: 183: 180: 174: 172: 168: 167:Windows Vista 164: 160: 156: 152: 150: 146: 142: 138: 134: 128: 120: 118: 116: 112: 107: 105: 101: 97: 90: 85: 80: 73: 71: 69: 65: 60: 58: 54: 49: 45: 37: 35: 33: 29: 25: 21: 789: 780: 766: 752: 738: 724: 710: 696: 687: 678: 664: 650: 638:. Retrieved 633: 624: 610: 580: 566: 555: 544: 533: 522:. Retrieved 511: 500:. Retrieved 496: 486: 475:. Retrieved 463: 453: 439:Video scaler 399:Page zooming 350: 348: 326: 318: 287: 267: 239: 224: 212: 201: 191: 184: 175: 153: 130: 108: 94: 61: 48:Donald Knuth 41: 19: 18: 640:20 February 520:. AnandTech 314:GNOME Shell 230:1.6 "Donut" 208:Windows 8.1 149:Windows 3.1 111:MacBook Pro 524:2012-06-12 502:2007-03-25 477:2022-05-06 445:References 277:family of 214:Windows 10 163:Windows XP 159:Windows XP 145:Windows 95 125:See also: 115:megapixels 28:pixel grid 472:1059-1028 374:CorelDRAW 204:Windows 8 193:Windows 7 171:Windows 7 816:Category 394:Inkscape 389:Himetric 379:Direct2D 363:See also 340:TrueType 57:Metafont 55:system, 344:AmigaOS 337:Marlett 302:Wayland 227:Android 221:Android 46:due to 38:Concept 470:  419:Synfig 306:GUADEC 283:XRandR 225:Since 147:. (In 464:Wired 424:Twips 323:Other 310:Cairo 298:Cairo 290:GNOME 262:GNOME 100:macOS 96:Apple 91:macOS 84:macOS 642:2020 468:ISSN 355:for 329:GUIs 294:GTK+ 279:Xlib 268:The 260:The 197:EDID 169:and 155:GDI+ 131:The 82:The 53:font 357:DOS 270:Xft 202:In 157:in 141:DPI 133:GDI 104:GUI 68:TeX 44:TeX 818:: 788:. 686:. 632:. 594:^ 495:. 466:. 462:. 300:, 296:, 285:. 792:. 774:. 760:. 746:. 732:. 718:. 704:. 690:. 672:. 658:. 644:. 618:. 574:. 527:. 505:. 480:.

Index

computer screen
pixel grid
graphical user interface
TeX
Donald Knuth
font
Metafont
device independent file format
TeX

macOS
Apple
macOS
GUI
MacBook Pro
megapixels
Dots per inch ยง How Microsoft Windows handles DPI scaling
GDI
Microsoft Windows
DPI
Windows 95
Windows 3.1
GDI+
Windows XP
Windows XP
Windows Vista
Windows 7
Desktop Window Manager
Windows Presentation Foundation
Windows 7

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

โ†‘