Mobile Development 10 min read

Boost Android Performance Testing with scrcpy: Real‑Time UI Mirroring Made Easy

scrcpy, an open‑source Android screen‑mirroring tool, offers lightweight, cross‑platform, zero‑intrusion streaming with high frame rates and low latency, enabling test engineers to capture real‑time UI, record videos, perform wireless and automated testing, and handle long‑duration stress tests efficiently.

FunTester
FunTester
FunTester
Boost Android Performance Testing with scrcpy: Real‑Time UI Mirroring Made Easy

What is scrcpy

scrcpy (screen copy) is an open‑source Android screen‑mirroring tool developed by Genymobile. Its key features are lightweight, cross‑platform, and zero‑intrusion. It uses ADB to invoke the device’s built‑in H.264 hardware encoder, so no root or extra APK is required and performance impact is near zero.

Installation

scrcpy runs on Windows, macOS, and Linux. On macOS it can be installed with a single command:

brew install scrcpy  # install scrcpy, recommended by FunTester

After enabling USB debugging on the device, start it with:

scrcpy  # one‑click launch, default settings start mirroring

The mirrored screen appears on the computer with latency as low as 35–70 ms and up to 120 fps.

Technical principle

scrcpy captures the device screen via the H.264 hardware encoder, streams the video over ADB (USB or Wi‑Fi), and decodes it on the host. Because the encoding is performed on the device, resource consumption is minimal and latency stays low.

Why it matters for performance testing

In long‑duration, high‑concurrency stress tests (e.g., 12‑hour e‑commerce app runs), engineers need to see UI lag, capture crashes, and share the live view with remote teammates. scrcpy’s high frame rate, low latency, recording, screenshot, and wireless capabilities address these needs without affecting test data.

Key features for testing

Recording and screenshots : scrcpy --record bug_scene.mp4 saves the exact moment of a crash.

Long‑run stability : scrcpy --turn-screen-off keeps the device awake while the screen is off.

Wireless mirroring : after a one‑time USB pairing, use ADB to enable TCP/IP and connect via Wi‑Fi.

Automation‑friendly : works with adb, Monkey, UIAutomator, and can be scripted in Bash.

Multi‑device support : launch several instances with scrcpy -s <serial>.

Adjustable resolution and bitrate : scrcpy --max-size 1024 --bit-rate 2M reduces bandwidth for long recordings.

Read‑only mode : scrcpy --no-control observes without sending input.

Typical workflow for wireless mirroring

Connect the phone via USB and enable developer options with USB debugging.

Run adb tcpip 5555 to switch the device to wireless debugging.

Find the device IP (e.g., adb shell ip route) and connect with adb connect <device IP>.

Disconnect the USB cable and launch scrcpy to mirror over Wi‑Fi.

Practical advice

Ensure the phone and computer are on the same stable LAN, preferably 5 GHz Wi‑Fi, to minimise latency. Combine scrcpy video with adb logcat logs and performance metrics for comprehensive analysis during high‑load scenarios.

scrcpy demonstration
scrcpy demonstration
Androidperformance testingUI TestingscrcpyScreen mirroring
FunTester
Written by

FunTester

10k followers, 1k articles | completely useless

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.