Fix: Loom “Canvas” Drawing tools lagging on macOS

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

ParameterOperational Detail
Failure LayermacOS WindowServer compositing overhead or high mouse polling rates
Hardware AffectedApple Silicon (M1–M4) and Intel Macs; worse on ProMotion (120Hz) displays
Operating SystemsmacOS Monterey, Ventura, Sonoma, and Sequoia
ImpactUnusable drawing tools, stuttering screen capture, cursor freeze
Root CauseVector 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:

  1. The app captures coordinates from your cursor.
  2. The coordinates are calculated and rendered as vector paths on the overlay window.
  3. The macOS WindowServer composites this transparent layer on top of your underlying workspace.
  4. 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.

  1. Open your mouse configuration software (e.g., Logitech G HUB, Razer Synapse, Corsair iCUE).
  2. Locate the Report Rate or Polling Rate setting.
  3. Lower the rate from 1000Hz to 125Hz or 250Hz.
  4. 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.

  1. Open System Settings on your Mac.
  2. Click Displays.
  3. 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.
  4. 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.

  1. Go to System Settings > Battery.
  2. Locate Low Power Mode.
  3. 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.

  1. Open System Settings > Privacy & Security.
  2. Click Screen & System Audio Recording.
  3. Locate Loom, toggle the switch Off, and then toggle it back On.
  4. 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:

  1. Open Activity Monitor (Cmd + Space, then type Activity Monitor).
  2. Sort the CPU tab by % CPU.
  3. Look at WindowServer while 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.
  4. 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.