
Before blaming a rental Mac for feeling slow, measure which layer is actually adding the delay. Network round-trip time (RTT), VNC protocol overhead, and frame encoding are three different problems with three different fixes. Run the short test sequence below from the network you will use every day, then decide on a region and a plan.
Measure RTT first. If it is under about 50 ms from your daily network and you need an ARM-native toolchain, request an M-series Mac from Figment, which starts at $95/month (the exact chip, RAM and disk are set in the quote). If you want to shake out the workflow before paying for a physical Mac, the $29 virtual Intel macOS environment (2 vCPU, 8 GiB RAM, 80 GiB disk, Intel on Linux/KVM, no GPU or audio) is accessed through the Figment browser console and can run compatible Intel Mac toolchains, including Xcode 26 or earlier. ARM-only execution and Xcode 27 require Apple silicon. Pricing, availability and tax are confirmed in the Figment quote; no uptime SLA or guaranteed latency is published.
A delay between pressing a key and seeing the result on screen passes through three distinct stages:
Knowing which layer is at fault tells you whether to change region, switch client, or adjust quality.
Start with ICMP ping to establish raw RTT. Use the confirmed network endpoint. The $29 VM has no public guest IP; pinging its console gateway measures only that part of the path. ICMP may be blocked. Fifty samples give a first view of variation:
: "${RENTAL_HOST:?Set the confirmed host or console gateway hostname}"
ping -c 50 "$RENTAL_HOST"
# Look at min/avg/max/stddev, e.g. 8.2/12.4/31.0/4.1 ms
Then run mtr to see where latency grows along the path. Install via Homebrew if needed:
brew install mtr
sudo mtr -c 50 -r "$RENTAL_HOST"
mtr combines traceroute and ping into one continuous report. Watch for hops where average latency jumps sharply or where packet loss first appears and persists. Loss that shows up on a middle hop but disappears at the destination is usually ICMP de-prioritisation by a router, not real loss. Loss at the final hop can also result from ICMP filtering or rate limits. Compare it with the actual console connection before concluding that application traffic is lost.
Decisions from this stage:
RTT measures the network. This test measures the full input-to-display path. Record the keyboard and the screen together with a phone slow-motion camera (iPhone 240 fps or Android equivalent); recording the local display alone cannot capture the moment your finger presses the key.
1. Open a terminal on the remote Mac through your VNC viewer.
2. Point a phone camera at both the keyboard and the monitor and start a
slow-motion recording (ideally 240 fps).
3. Press a key that produces an immediate visible change (e.g. hold a key
so the character repeats, or type into a high-contrast editor).
4. Stop the recording and scrub frame by frame.
5. Count frames from the frame where the key is fully depressed to the
frame where the character first appears on screen.
6. Latency (ms) = frame_count * (1000 / fps).
Example: 20 frames at 240 fps = 83 ms end-to-end.
The result includes one-way input transit, server processing, encoding, transmission, and client decode. If it is more than about 3× your one-way network delay (RTT / 2), the protocol or encoding is consuming most of the budget rather than the network. Re-run with the viewer's adaptive-quality setting toggled; a 20–30% change in frame count points at encoding as the dominant cost.
macOS Screen Sharing exposes an image-quality toggle whose exact wording and location vary by release; check the active menu on your installed version. Apple Remote Desktop exposes similar connection-quality options under its control and observe settings:
On a fast connection (RTT under 30 ms, 50 Mbps+ available), prefer the higher-quality mode: lighter encoding lets both ends finish each frame sooner, which usually reduces the frame count measured above. On a congested or mobile link, keep adaptive on so the viewer does not queue decode work it cannot keep up with.
Third-party clients such as Jump Desktop and RealVNC Viewer typically expose finer controls, including quality sliders and encoding selection. For interactive coding on a fast link, raise quality and prefer ZRLE or TRLE. Slider names and ranges change with client versions; check the client's own documentation before picking a number.
Use this table to interpret your ping average and decide whether to change region, switch client, or accept the result. These are diagnostic guidance values, not service guarantees.
| Ping avg RTT | Coding / terminal | UI design / Figma | Video scrubbing | Action |
|---|---|---|---|---|
| < 20 ms | Excellent | Excellent | Usable | No change needed |
| 20–50 ms | Good | Acceptable | Marginal | Try high-quality encoding |
| 50–100 ms | Marginal | Noticeable | Poor | Request a nearer region |
| > 100 ms | Sluggish | Frustrating | Unusable | Region change is essential |
Actual experience also depends on your local ISP, the viewer's update-rate behaviour, and current CPU load on the rental Mac.
Run the tests from the network you will use daily — home, office, co-working, or tethered — not from an unusually fast test connection. RTT varies significantly by ISP routing even within one city.
When you request a Figment Mac, ask for the available regions and for a probe host or sample IP so you can ping before provisioning. Ten minutes of measurement now is cheaper than a month of frustration later. The $29 virtual Intel macOS plan is a useful first step for workflow and network checks and can run compatible Intel Mac toolchains in the browser console. Move to an M-series Mac from $95/month when you need ARM execution, more RAM, GPU access, or a longer-running interactive session; i3 Mac ($49) and physical M-series plans collect requests until supply is confirmed. See Mac hosting plans or request a configuration.
Related: Configure Mac Screen Sharing on a rented Mac · Remote Mac setup for designers · Run GitHub Actions self-hosted runners on a Mac