Canvas drawing tool lag in Loom for macOS occurs when there is a processing bottleneck between the drawing overlay engine, the operating system’s window server, and Loom’s video capture process. When this happens, strokes made with the pen or highlighter stutter, freeze, or take several seconds to render behind your cursor, often accompanied by system fan noise and dropped video frames.
Fast Fix
Open Loom’s Preferences, switch the Video Quality from “Auto” to “1080p,” and disable macOS Low Power Mode in System Settings > Battery. If you use a gaming mouse, drop the hardware polling rate from 1000Hz+ down to 125Hz or 250Hz. High mouse polling rates overwhelm the macOS WindowServer process while drawing vectors over active video streams.
Diagnostic Snapshot
| Parameter | Operational Detail |
|---|---|
| Failure Layer | macOS WindowServer compositing overhead or high mouse polling rates |
| Hardware Affected | Apple Silicon (M1–M4) and Intel Macs; worse on ProMotion (120Hz) displays |
| Operating Systems | macOS Monterey, Ventura, Sonoma, and Sequoia |
| Impact | Unusable drawing tools, stuttering screen capture, cursor freeze |
| Root Cause | Vector rendering pipeline bottleneck during simultaneous desktop capture |
What Causes the Lag?
The Canvas tool works by placing a transparent, full-screen interactive overlay window directly above your target recording area. When you draw:
- The app captures coordinates from your cursor.
- The coordinates are calculated and rendered as vector paths on the overlay window.
- The macOS
WindowServercomposites this transparent layer on top of your underlying workspace. - The screen recording engine (utilizing Apple’s ScreenCaptureKit) simultaneously compresses both layers into the outgoing video stream.
[Cursor Input (1000Hz Polling)]
│
▼
[Loom Canvas Layer] ──(Vector Math Lag)──► [macOS WindowServer] ──► [ScreenCaptureKit Encoding]
▲
│
(High GPU/Display Load: 120Hz/4K)
If the display refresh rate is high (such as a 120Hz ProMotion screen), the monitor resolution is scaled, or cursor event coordinates arrive too quickly, the rendering thread falls behind. The result is visual stutter, delayed ink lines, and sluggish capture.
Step-by-Step Resolution
Step 1: Reduce Mouse Polling Rate (The Hidden Bottleneck)
High-performance gaming mice often transmit data at 1000Hz, 4000Hz, or 8000Hz. While excellent for responsive gaming, this floods macOS with thousands of interrupt signals every second. When calculating vector paths on a real-time capture overlay, this input volume saturates a single CPU thread.
- Open your mouse configuration software (e.g., Logitech G HUB, Razer Synapse, Corsair iCUE).
- Locate the Report Rate or Polling Rate setting.
- Lower the rate from 1000Hz to 125Hz or 250Hz.
- Test drawing with the Canvas tool. If the stroke immediately matches your hand movement, your polling rate was choking the WindowServer process.
Step 2: Disable ProMotion or Force 60Hz on External Displays
macOS ProMotion dynamically alternates up to 120Hz. Rendering live vector overlays at 120 frames per second alongside an active video encoder can max out integrated GPU cores.
- Open System Settings on your Mac.
- Click Displays.
- If using a MacBook Pro with ProMotion, or an external high-refresh gaming monitor:
- Select your active screen.
- Open the Refresh Rate drop-down menu.
- Change ProMotion or 120 Hertz to 60 Hertz.
- Restart Loom and test the drawing tools.
Step 3: Turn Off macOS Low Power Mode
Low Power Mode intentionally throttles GPU frequency and limits frame rendering rates for background windows, directly degrading overlay responsiveness.
- Go to System Settings > Battery.
- Locate Low Power Mode.
- Switch the setting to Never, or adjust it so it only applies when running on battery power (and plug your laptop into its power adapter).
Step 4: Address Display Scaling and Multi-Monitor Overheads
Running your display on non-native scaling settings (e.g., selecting “More Space” on high-DPI displays) requires macOS to render at a massive virtual canvas before downsampling to your screen. This creates significant rendering overhead for drawing tools.
- If you are running multiple monitors from a single USB-C hub or DisplayLink adapter, disconnect the secondary display. Test if the Canvas tool runs smoothly on the built-in screen alone.
- If internal audio routing issues also arise during screen captures on macOS, check Troubleshooting: Loom “Internal Audio” capture missing on Mac to ensure background audio capture engines are not consuming excess processor resources.
Step 5: Reset Loom Desktop Permissions
If macOS window capture permissions become corrupted during an OS update, Loom falls back to inefficient CPU-based screen capture routines instead of optimized hardware acceleration APIs.
- Open System Settings > Privacy & Security.
- Click Screen & System Audio Recording.
- Locate Loom, toggle the switch Off, and then toggle it back On.
- Relaunch Loom when prompted by macOS.
Verifying System Load
To verify whether your hardware is recovering properly, check the system activity monitors during an active test recording:
- Open Activity Monitor (
Cmd + Space, then typeActivity Monitor). - Sort the CPU tab by % CPU.
- Look at
WindowServerwhile drawing:- Normal range: 15% to 35% utilization during active drawing.
- Throttled state: 80% to 100%+ utilization indicates that high cursor polling rates or scaled screen resolutions are continuing to choke the operating system’s compositing engine.
- If you have confirmed that local drawing lag has resolved, but your completed recordings still show rendering errors or sync delays, see Fix: Loom “Cloud Sync” delay causing “Media Offline” in Browser to rule out post-processing bottlenecks.