I'm so distracted by latency that I run my macOS with vsync disabled 24/7 (through Quartz Debug).
When I used to use Windows 10+ years ago, I had decent luck using xming + cygwin + Cygwin/X + bblean to run xterm in a minimal latency/lag environment.
I also launch Chrome/Spotify/Slack desktop using:
$ open -a open -a Google\ Chrome --args --disable-gpu-vsync --disable-smooth-scrolling
One way to have the cake and eat it too is to upgrade to a high-refresh rate display. No tearing + less latency + smoother display. Although it's diminishing returns even 60Hz -> 144Hz+ will make a lot of difference. On a 240Hz display, vsync penalty is just 4ms.
Also if you are using a miniLED M-class MBP, its pixel response is abysmal.
I've been running uncomposited X for years to reduce latency, but after getting a dual 120 Hz monitor setup, I might finally consider Wayland! This is good advice.
Too bad vscode doesn't support higher refresh rates. It's locked to 60 for some reason I haven't been able to grasp.
Yep, have been planning to upgrade to a 240hz+ OLED for awhile! I find the typing input latency on my M1 MacBook Pro to be pretty abysmal when using the built-in retina display and no external monitor — I almost feel like I can only get work done when I have it plugged into my external monitor in clamshell mode and disable vsync.
This is one of those things where if your applications are written using native frameworks the difference is minimal, and you get the benefit of an actual smooth experience. Meanwhile if the app is a "custom lightweight framework", you're likely just burning CPU cycles.
Desktop programs should only repaint when they need to. So you are only actually rendering the programs at hundreds of hertz when something is animated.
I use a cheap 75hz IPS from my office, though, ideally, I'd like to upgrade to a 240hz+ OLED w/ VRR since macOS now supports adaptive sync[0]; i've been waiting because I'm not satisfied w/ any of the OLED monitors currently on the market and my monitor upgrade request was denied by my employer.
Though I've used the Apple Magic Keyboard w/ Touch ID exclusively for awhile, I'm also thinking about upgrading to the new Wooting 80HE keyboard this fall since it has a 8kHz polling rate, analog hall effect switches, and is designed to be ultra low latency w/ tachyon mode enabled.
Comments
I'm so distracted by latency that I run my macOS with vsync disabled 24/7 (through Quartz Debug).
When I used to use Windows 10+ years ago, I had decent luck using xming + cygwin + Cygwin/X + bblean to run xterm in a minimal latency/lag environment.
I also launch Chrome/Spotify/Slack desktop using:
$ open -a open -a Google\ Chrome --args --disable-gpu-vsync --disable-smooth-scrolling
One way to have the cake and eat it too is to upgrade to a high-refresh rate display. No tearing + less latency + smoother display. Although it's diminishing returns even 60Hz -> 144Hz+ will make a lot of difference. On a 240Hz display, vsync penalty is just 4ms.
Also if you are using a miniLED M-class MBP, its pixel response is abysmal.
I've been running uncomposited X for years to reduce latency, but after getting a dual 120 Hz monitor setup, I might finally consider Wayland! This is good advice.
Too bad vscode doesn't support higher refresh rates. It's locked to 60 for some reason I haven't been able to grasp.
Since vscode is an electron app, have you tried opening it with
$ open -a open -a Visual\ Studio\ Code --args --disable-gpu-vsync --disable-smooth-scrolling --disable-frame-rate-limit
Yes, that doesn't help unfortunately. There is a github issue with a long discussion, and none of the tips have seemed to help.
https://github.com/microsoft/vscode/issues/65142
Yep, have been planning to upgrade to a 240hz+ OLED for awhile! I find the typing input latency on my M1 MacBook Pro to be pretty abysmal when using the built-in retina display and no external monitor — I almost feel like I can only get work done when I have it plugged into my external monitor in clamshell mode and disable vsync.
"abysmal"?? Literally the first time I've seen someone negatively mention latency on a recent Macbook
Pixel response time is something like 30ms on MacBook Pro. So the 120hz screen can feel more like 30hz.
I'm happy to report I have no idea what you're talking about and find the typing on the Macbook the best computer experience I ever had :D
I'll be careful not to use higher refresh rates devices though, that could show me what you're talking about :)
It just seems so wasteful to run desktop and office programs at hundreds of hertz…
This is one of those things where if your applications are written using native frameworks the difference is minimal, and you get the benefit of an actual smooth experience. Meanwhile if the app is a "custom lightweight framework", you're likely just burning CPU cycles.
How so? Anything under 1000Hz has obvious delays: https://youtu.be/vOvQCPLkPt4?si=oXDiV9gagyZdnkkM
Desktop programs should only repaint when they need to. So you are only actually rendering the programs at hundreds of hertz when something is animated.
Out of curiosity, have you tried a 144hz monitor on macOS with vsync enabled?
I use a cheap 75hz IPS from my office, though, ideally, I'd like to upgrade to a 240hz+ OLED w/ VRR since macOS now supports adaptive sync[0]; i've been waiting because I'm not satisfied w/ any of the OLED monitors currently on the market and my monitor upgrade request was denied by my employer.
Though I've used the Apple Magic Keyboard w/ Touch ID exclusively for awhile, I'm also thinking about upgrading to the new Wooting 80HE keyboard this fall since it has a 8kHz polling rate, analog hall effect switches, and is designed to be ultra low latency w/ tachyon mode enabled.
[0]: https://support.apple.com/guide/mac-help/use-adaptive-sync-w...