9 ms·
You maybe wouldn’t expect it, but in this regard Windows is far superior to macOS. It will output whatever resolution your monitor has, and then you can just se
by leokennis 5y ago
You maybe wouldn’t expect it, but in this regard Windows is far superior to macOS. It will output whatever resolution your monitor has, and then you can just set a “scaling factor” which will make the interface exactly the size you like while still being pixel perfect.
Given how simple most UI is, especially these days (circles filled with gradients, roundrects) and given how many different screen sizes and resolutions are used even within Apple’s first party displays, it’s almost insane macOS isn’t resolution independent.
- fortran77 5y agoThat was my first thought. All this crap Mac users have to go through if they want to go off the "happy path" even slightly with an aftermarket monitor. I worked for Apple more than two decades ago, but now I'm a happy Windows 11 user.
- rootusrootus 5y agoI have an aftermarket monitor, runs at 4K, has a scaling factor applied so that I can make everything bigger. I don't feel like I had to go through any crap, either, it's the simplest of UIs.
- hollerith 5y agoI agree that it is simple (i.e., the Displays pane of System Preferences) but the result IMHO is unpleasantly blurry. These days, fonts, SVG images, CSS, etc, are stored as mathematical descriptions of curves that can be rendered at any scaling factor. Any use of a scaling algorithm, like MacOS does when the scaling factor is not an integer multiple of the display's true resolution, is an unnecessary source of blurriness. A HiDPI display make the blurriness less noticeable, but do not solve the basic problem, which is that the scaling algorithm reduces the "effective resolution" of the display. (I have never used a HiDPI display with a desktop OS, but another participant here on HN has and reported that he notices MacOS's blurriness relative to Windows even on a HiDPI display.)
- jpablo 5y agoThen half your apps will look blurry because they don’t support scaling, this includes quite a few built in utilities.
- whatever1 5y agoWhen was the last time you used windows? Windows 10 has solved all of these, you need to find and use some old 3rd party apps to have this issue
- gareim 5y agoThe Netflix Windows app and my 4K monitor at 125% do not work together. The UI elements are tiny and the padding is wrong.
- stronglikedan 5y agoThere's still some issues if you have multiple monitors with different display scalings, but they have just about solved that too.
- robterrell 5y agoTell that to my Windows 10 install, because it's displaying a hodge-dodge of non-uniformly scaled bullshit. Solved would mean I'm not hacking a scaling factor into the perforce config file to get its window to match the rest of the UI. Solved would mean that Windows handled it for everything drawing windows.
- mlyle 5y agoI've been using Windows and hidpi for the past few years & routinely encounter scaling bullshit.
- philjohn 5y agoPretty much any app using bog standard winforms seems to suffer.
- pdpi 5y agoI'm on Windows 10 right now, running a 1440p display, and a 4k display at a logical resolution of 1440p. Lots of stuff misbehaves on the scaled 4k display. For a couple of examples: The nVidia Control Panel ignores the scaling on the 4k display and renders tiny text as if the display was set to 4k. GPU-Z looks like a blurry mess.
- seanalltogether 5y agoI agree, resolution independence should be a higher priority for macos. They've been able to dance around the subject by just doubling everything and calling it retina, but true accessibility would allow everyone to set the scale that works best for them.
- joosters 5y agoResolution control on my mac mini + 3rd party 4k monitor works just great, you can choose to have native resolution, 'retina' (i.e. 2x scaling), or a few steps in-between the two, there's plenty of flexibility. Plus, the way it works means that (as I understand it), programs don't really need to do anything to support all these variations. Behind the scenes, the OS renders everything at a very high resolution, then uses the graphics hardware to smoothly scale everything down to your chosen size. My eyes aren't good enough to use the native resolution, and using the 'retina' setting wastes too much screen real estate (I mean, that's why you buy a big monitor for, right?), so having somewhere between the two is essential. I was concerned that choosing a non-simple scaling (neither doubled or native) would make things blurry or slow, but it just works, and works well. Even dragging windows between a high-DPI and normal DPI display is seamless. As an aside, after years of using a low-res monitor, with tiny fonts to squeeze as many terminals and emacs windows onto my screen, high-DPI is a godsend. For a long time after getting the 4k monitor, I'd just play around with the mac's screen zoom accessibility function (uses the mouse wheel to smoothly zoom into an area of the screen) - it was astounding to me just how much you can zoom before individual characters become blocky. They used to be drawn as 8x8 pixels and now, to my aging eyes, each letter looks as smooth and detailed as printed text!
- greggman3 5y agoIt's not as simple as fixing the display setting code. For example WebKit is not happy with non-integer DPRs. It will leave gaps here and there. When those gaps happen is probably rare enough that it's not a show stopper but I suspect lots of other MacOS software has similar issues. Another tangentially related issue, how do you display a pixel perfect image on a non-integer DPR. For example lets say you want to show 8bit mario in HTML at exactly 16 or some multiple of 16 pixels so that there's not odd integer scaling. it's quite a pain, requires JS, and requires flexible page layout since you won't be able to use "CSS pixels" to decide the size to display it. Possibly that's an argument for never having non-integer DPRs.
- cpuguy83 5y agoHold alt while clicking "scaled" in the display settings. You'll get the full list of resolutions.
- reaperducer 5y agoI don't use an external monitor, so I'm not familiar with the issue here, but are you saying this person created a solution for a problem that doesn't exist? Is this one of those RTFM moments?
- cpuguy83 5y agoI would not ever say that, I do not have an M1 (which is specifically mentioned in the readme). I am responding to the parent because indeed there is a way to set a resolution as desired rather than just the "pick from these 4 scaled images".
- Isthatablackgsd 5y agoI used dual-monitor set up for my MBA-M1. My external monitor is 1080p native and connected through Anker USB-C dock. When I connected the monitor to it, macOS on my external monitor looks blurry as hell. It is like it is imposed a strange resolution on my 1080p monitor that ended up looks worse. I tried to change the resolution through the Display setting and it didn't generally help. So the "secret menu" in Display didn't help at all, macOS is doing something to my external monitor that it was crisp and clear in Windows and Linux whereas macOS are not.
- kristjansson 5y agoInterestingly, looks like that's presented as a checkbox in Monterey, rather than an option-click (never Apple's most discoverable UX).
- rootusrootus 5y agoThat's how it works for me. I have a 4K monitor, my MacBook Pro connects to it at native resolution, and I select the scaling factor I want. This is a good thing, since as much as I like 4K resolution, my middle aged eyes prefer to have things scaled up a bit.
- ciex 5y agoThe issue is with lossy scaling. I also have a 4k monitor but you can clearly see a difference in clarity if you select anything other than 3840x2160 (1x, everything is tiny) or 1920x1080 (2x, everything is huge).
- SigmundA 5y agoHow does Windows solve that? Anything other than 2x multiples is lossy I thought.
- kevin_thibedeau 5y agoWindows has had support for variable DPI since win95. They've had to hide or rework it over the years because it hasn't always held up to problematic dev practices like fixed pixel dimensioning but the fundamental graphics subsystem has supported it.
- wlesieutre 5y agoWindows UIs can draw natively at non-integer scales. This put them a good decade behind macOS for software support because 3rd party products all needed tons of work to support it, and would all get drawn at 1x with pixelated upscaling in the meantime. But now that it's more widely supported, it's really the more efficient and more precise solution. I had a Surface Pro 3 with a default 150% scale and the experience in 2014 was great as long as you lived in OneNote.
- jen20 5y agoSome* Windows UIs can draw natively at non-integer scales. Many first party programs even still look _awful_ at best, and are non-functional at worst as a result.
- hollerith 5y ago>in this regard Windows is far superior to macOS I agree, and wish to add that the new graphics stack on Linux is also far superior to MacOS in the same way. By "new graphics stack" I mean Wayland without XWayland. In fact, of the 3 desktop operating systems, I distinctly prefer the details of how my screen looks on Linux: on Windows, small (plus or minus 25%) changes in scaling factor tend to cause large changes in the details of the rendering of text (e.g., the average width of lines and curves can seem to halve or double or the text can seem to change font) which I find a little distracting. MacOS is by far the worst of the three. Not only does it look horribly blurry to me (on a normal old monitor -- I do not own any HiDPI monitors) when a non-integer scaling factor is applied (via the Displays pane of System Preferences), but even at the native resolution of the display, it is blurrier than I like because of a decision by Apple long ago to optimize for how closely text on the screen matches how the same text looks like when printed out. (At least one of the terms hinting and anti-aliasing are relevant here, but I don't know the details.) Windows is further along than Linux in the rollout of a truly resolution-independent graphics stack: on Linux, I have to pass certain flags to Chrome to get it to circumvent XWayland and not be blurry -- and then there are a few bugs -- but bugs I can definitely live with. Also, on Linux, I have to use a special branch of Emacs (named feature/pgtk) to get Emacs to be non-blurry when a non-integer scaling factor is set in Gnome Settings, feature/pgtk has a bad bug (freezing at random times) which I learned to work around (by starting a second "sacrificial" Emacs instance, which luckily would always be the first to freeze, and once frozen would somehow prevent the first instance from freezing). I was a MacOS user for 10 years, and would still be a MacOS user today if I hadn't spent time on Windows 10 and had my eyes opened to the painfulness of the two aforementioned sources of blurriness (namely, Apple's decision to optimize for fidelity to hardcopy and MacOS's use of a scaling algorithm when the scaling factor is not an exact integer). I always knew during those 10 years that MacOS was too blurry for me at non-integer scaling factors, but I thought it was OK because the 2 individual apps I spent the most time in (Emacs and my browser) have app-specific scaling factors that don't introduce blurriness, and it wasn't until I spent time on a different OS that I understood how sub-optimal MacOS was for my pattern of use and my particular visual cortex. If you are on a Mac, a good way to experience what I am talking about is to install Google Chrome, then operate the "Zoom" control in the menu of the 3 vertical dots. Note how every element in the viewport instantly changes size. PNG and JPG images (e.g., the white "Y" in the left top corner of this page, but not the white rectangle surrounding it) might become blurry (or stop being blurry) because unlike essentially everything else on a modern web page, PNGs and JPGs are not stored as resolution-independent mathematical descriptions of curves. Well, Windows has a control in its Settings app that has the same effect on every visual element on the OS (including the mouse cursor). And on my Linux box, Gnome Settings has a control that does the same thing. (Safari and Firefox might have the same "zoomability" as Chrome does; I haven't used Firefox on a Mac in years; back when I did, its zoom control zoomed only the text, but not the images; I no longer have access to a Mac, so cannot experiment with Safari.)
- grishka 5y agoAndroid is like that too. Some devices have non-integer pixel densities (multipliers or device pixel ratios or scaling factors or whatever term you prefer), especially 1.5x aka "hdpi" that was popular around 2011. You can provide separate resources for each pixel density if you still use bitmap graphics for some reason. Oh and there's also "ldpi", which is something like 0.75x, though there were very few devices with it. With how advanced macOS graphics stack is, I don't understand why does Apple not do this, instead insisting on using integer multipliers. Some iPhone models, too, render the UI at 3x and then downscale it to fit the screen. Even more curious is the fact that they have returned it as a float for as long as retina displays were a thing: https://developer.apple.com/documentation/appkit/nsscreen/1388385-backingscalefactor?language=objc https://developer.apple.com/documentation/appkit/nsscreen/13... edit: one important difference I forgot to mention. On Android, all draw calls on the Canvas, and all view dimensions and other things like text sizes, always take physical pixels. It's your job to multiply and round everything correctly. On macOS and iOS, all graphics APIs take "points", which are those logical pixels you get after the scaling is applied, "density-independent pixels" as Android calls them. I guess Apple thought it would make it easier to adapt existing apps to retina displays. Android has always supported UI scaling, so there was no problem designing the API the way it is.
- ridiculous_fish 5y agoI worked on the Cocoa frameworks back when the hope was arbitrary scaling. The short answer to your question is "rounding." At 1.5x, a box of length 3 occupies 4.5 physical pixels. Either one side of the box will be blurry, or the box must get resized to align with physical pixels, which can cause mis-centering of text or icons, or unexpected clipping or truncation. There was also a lot of custom layout code in existing apps, both first and third party, which just didn't work at arbitrary scale factors because it was never tested. Yet another complication is that apps are expected to handle scale changes, e.g. if the user drags a window from one display to another. Android doesn't have to deal with this. After years of trying to make it work, Apple basically gave up and did the scaling in WindowServer.
- diskzero 5y ago
- daxfohl 5y agoNow if Windows could just make my laptop not use half the battery overnight with the lid closed. (This is frustrating me to the point that I am on the verge of getting a macbook for the first time now even though my laptop is otherwise great and only a year old, so it's good (for my pocketbook anyway) to know the other side has its own issues).
- com2kid 5y ago> Now if Windows could just make my laptop not use half the battery overnight with the lid closed. Eh I have a Macbook and various apps will cause the laptop to not go to sleep. Web browsers are the largest offenders in my experience. I've often enough came into my office to a laptop that was running at 100% CPU all night.
- handrous 5y agoI don't get how idle power use is still so bad on competing products. I understand Android, at least, has improved somewhat, but it spent years being laughably bad compared to iOS, even on tablet hardware with no cell radio to worry about. Dead after three days in a drawer, while the iPad that'd been in there for three weeks still had plenty of charge left. WTF.
- Isthatablackgsd 5y agoTry looking into Power Profile and Power Management setting, likely you are on the high performance profile or the profile was set incorrectly. Also look into the device manager and change the power setting for each devices, some device can turn on the computer and keep it awake through out the night. Even apps (I managed to find out why my computer keep awaking up in the middle of the night because of the particular app that have no reason to use the waketimer function).
- burnte 5y agoCheck your manufacturer's website for updates and you rpower scheme settings. I have a early-2021 Dell XPS 13 (the 9310) and I can close it, forget it in my bag for two weeks, open it and it has 94% battery left because it auto-hibernated.
- _pmf_ 5y agoWindows still requires a dummy dongle for a virtual (software) video output "monitor", I think. (Something like this: https://de.aliexpress.com/item/1005001604432934.html https://de.aliexpress.com/item/1005001604432934.html)
- Aloha 5y agoAs someone who has to do UI/UX work on Windows, I prefer the way macOS handles it, the issue is, if I use a non-HiDPI aware app on Windows, I have no idea what my UI elements will look like - on MacOS, they may show up blury, but I know exactly what they'll look like - another issue is, Windows does UI scaling on non-HiDPI screens by default.
- leokennis 5y agoI think it embodies the philosophical difference between Microsoft and Apple. And I’m not making a judgement here. Windows: give users choice, including the choice to end up with blurry apps with ill aligned UI. Mac: we cannot let you stray outside these boundaries, otherwise your UI experience will deviate too much from the experience we determine to be the best. For me, scaling on non-HiDPI screens is a feature. I like big text and big buttons and Windows gives me that. I’ll gladly except perfect big UI 99% of the time, if the cost is ugly UI 1% of the time.