Mac Dock Animations: Why They Feel Sluggish and How to Get Smooth 120Hz Motion
macOS dock animations are locked to a fixed speed with no controls. Here's what you can change natively, and what a dock replacement adds.
The macOS Dock's animation speed cannot be changed from System Settings — the only control Apple exposes is a magnification toggle and an icon size slider. What you can do is use a Terminal command to reduce the hide/show delay, and on ProMotion Macs (M1 Pro, M2, M3, M4 and later, plus Studio Display), a third-party dock can render its animations at a full 120Hz — making motion feel noticeably crisper than the system Dock ever does.
Why does the macOS Dock animation feel slow or janky?
The system Dock runs at whatever refresh rate the OS schedules for it, which is not always your display's maximum. On a 120Hz MacBook Pro, the Dock spring animation and the hide/show slide often render below 60fps during the transition — especially when the system is under load. Apple has never documented this, but the effect is visible: the Dock feels slightly behind your cursor compared to everything else on screen.
The auto-hide animation adds another layer of friction. By default there's a deliberate delay before the Dock appears when you move your cursor to the screen edge. Apple added this pause so the Dock doesn't pop up constantly while you're working near the bottom of the screen. The side effect is that it feels sluggish every time you actually want it.
What can you change with Terminal?
Two defaults write commands affect Dock animation behaviour. Open Terminal (Applications → Utilities → Terminal) and run them one at a time.
Remove the auto-hide delay entirely:
bash defaults write com.apple.dock autohide-delay -float 0 killall Dock
The Dock now appears the instant your cursor reaches the edge. Some people find this too reactive — it triggers while mousing to the bottom-right corner for other things. If that bothers you, set a shorter delay instead of zero:
bash defaults write com.apple.dock autohide-delay -float 0.2 killall Dock
Speed up the show/hide animation:
bash defaults write com.apple.dock autohide-time-modifier -float 0.3 killall Dock
The default value is 1.0 (roughly one second). Setting it to 0.3 makes the slide feel much snappier. You can go as low as 0 to skip the animation entirely, though that looks abrupt.
To restore defaults at any time:
bash defaults delete com.apple.dock autohide-delay defaults delete com.apple.dock autohide-time-modifier killall Dock
These commands survive reboots and don't require SIP to be disabled. They're safe to use on any Mac running macOS 14 or later.
What Terminal can't fix
The commands above change timing — they don't change the rendering quality. On a ProMotion display, the system Dock still doesn't consistently animate at 120Hz. You also can't change the spring physics, the magnification curve, or the icon bounce behaviour. And if you have multiple monitors, there's no way to configure the Dock's behaviour per-display: it's the same auto-hide delay and animation on every screen, even though the Dock only appears on one monitor at a time.
For multi-monitor users, the more fundamental problem is that the system Dock isn't on the other monitors at all — it moves to whichever display your cursor is on. That's a separate limitation entirely, and Terminal can't help with it.
What a third-party dock actually renders differently
Dockish is built from the ground up as a native SwiftUI app, which means its animations run through the same compositor path as everything else on your display. On a 120Hz ProMotion Mac, the spring animations — icon magnification, the dock sliding in and out, folder open/close — run at 120Hz. The difference is subtle on a standard 60Hz display and clearly visible on a ProMotion one.
Beyond frame rate, Dockish gives you direct control over the things Terminal can't reach:
- Icon size 24–96px with a live preview slider, not a tiny system settings slider
- Adjustable magnification — turn it up, turn it down, or off entirely
- Auto-hide delay configurable per dock, not system-wide
- Dock on every monitor simultaneously — independent layouts per display if you want, or mirrored
- Themes — glass, dark, light, or a custom tint colour
- Spring animations at native display refresh rate, so motion matches the rest of your UI
It's a $6.99 one-time purchase with a 7-day free trial, so you can see whether the animation quality difference is worth it to you before paying anything. There's no subscription.
Which approach should you use?
If your only complaint is that the Dock takes too long to appear after auto-hide, the Terminal commands above are the right answer — free, instant, and reversible. Set autohide-delay to 0 or 0.2, set autohide-time-modifier to 0.3, and you're done.
If you want:
- Dock on every monitor (not just one)
- Smoother animations on ProMotion displays
- Per-display configuration
- Visual customisation beyond icon size
- iPhone-style app folders in the Dock
…then Terminal commands won't get you there, and a replacement is worth considering.
For most people who just want the Dock to stop feeling slow: the Terminal fix takes two minutes and costs nothing. Try that first.
Common questions
Does changing the auto-hide speed with Terminal break anything?
No. These are standard defaults write commands that write to the Dock's preference file. They take effect immediately after killall Dock restarts the Dock process, and you can delete them at any time with defaults delete to go back to Apple's defaults. No system files are modified.
Does the 120Hz animation difference actually matter on a MacBook Pro?
On a ProMotion display it's visible if you're looking for it — the magnification bounce and the hide/show slide both look smoother. Whether it matters is personal. If animations in general look slightly off to you on your high-refresh Mac, it's worth running a trial of a ProMotion-native dock app to compare directly.
Can I have fast Dock animations and keep auto-hide off?
Yes — auto-hide delay and animation speed are separate settings. If you leave auto-hide turned off in System Settings → Desktop & Dock, the autohide-delay and autohide-time-modifier commands have no effect (the Dock is always visible). The animation commands only apply when auto-hide is enabled.