Appearance
ADB speed and heat with 17 Android phones on one PC
In short: On 17 Android phones connected to one Windows PC with ADB over Ethernet, an adb shell command took a median of 69 ms with one phone and 135 ms with all 17 at once. A screenshot took 297 ms alone and 401 ms together. In an hour of streaming every screen, no phone got hotter than 35 °C.
We connected 17 identical Android test phones to one Windows 11 PC with ADB over Ethernet and measured how ADB slows down as phones are added, how long screenshots and screen streams take to start, and how warm the phones got during an hour of streaming. These are our own measurements from 5 and 6 November 2026; the raw data are below and in a paper on Zenodo (doi.org/10.5281/zenodo.24009226).
| Measurement | 1 phone | All 17 at once |
|---|---|---|
adb shell echo round trip, median | 69 ms | 135 ms (95th percentile 179 ms) |
Screenshot (screencap), median | 297 ms | 401 ms |
| scrcpy stream, time to the first video | 0.6 s | 1.9-2.0 s |
| One hour of streaming every screen | 1,019 of 1,022 one-minute recordings succeeded | |
| Battery sensor during that hour | 24.6-29.0 °C for 50 minutes; 35.0 °C at the highest |
Free for up to 3 phones, with no account. Pro adds workflows, schedules and AI for up to 25 phones from £12 a month + VAT.
ADB round trip as phones are added
Each phone ran adb shell echo ok 20 times, with every phone in the group starting at the same moment.
| Phones at once | Median | 95th percentile | Slowest |
|---|---|---|---|
| 1 | 69 ms | 85 ms | 95 ms |
| 2 | 73 ms | 85 ms | 92 ms |
| 4 | 80 ms | 94 ms | 108 ms |
| 8 | 102 ms | 119 ms | 125 ms |
| 16 | 134 ms | 171 ms | 217 ms |
| 17 | 135 ms | 179 ms | 288 ms |
The median roughly doubles from one phone to 17, and no call failed. Each figure includes starting an adb process on Windows, so a tool that keeps a connection open sees lower times. To connect phones this way, see ADB over Wi-Fi and the network.
Screenshots
adb exec-out screencap -p, five shots per phone one phone at a time, then five rounds of all 17 phones at once.
| Case | Median | 95th percentile |
|---|---|---|
| One phone at a time | 297 ms (274-328 ms across phones) | |
| All 17 at once (85 shots) | 401 ms | 481 ms |
The screens were asleep or locked, so the PNG files were small (12 KB). A detailed screen makes a larger file and takes a little longer. The commands are explained in adb screenshot and screenrecord.
Starting a screen stream
The time from starting scrcpy (recording, no window) to its first video data, measured on two nights:
| One phone at a time | All 17 started together | |
|---|---|---|
| 5 November | 0.61 s | 1.96 s |
| 6 November | 0.60 s | 1.86 s |
All 17 started together both nights; one phone failed to start once when streamed alone. Build your own scrcpy commands with the scrcpy command builder.
Streaming 17 phones for an hour
For 60 minutes every phone recorded its screen with scrcpy in one-minute recordings while its home screen was swiped every 5 seconds, with the screens kept on.
- 1,019 of 1,022 recordings succeeded. Two failed because the scrcpy server did not start and one did not start in the first minute; each phone carried on with its next recording.
- About 12 frames and 1.8 Mbit/s per phone. scrcpy sends a frame only when the screen changes, so this is what a swipe every 5 seconds produces, not the most a stream can carry. All 17 together sent about 31 Mbit/s to the PC.
- New streams started in 0.6 seconds (median) while the other 16 were streaming.
Do the phones get hot?
Not in this test. Temperatures come from each phone's own thermal sensors, read about every 35 seconds.
| Battery sensor | Median of 17 phones | Range |
|---|---|---|
| At the start | 25.6 °C | 24.6-27.4 °C |
| Highest in the first 50 minutes | 26.6 °C | 25.7-29.0 °C |
| Highest in the hour | 30.6 °C | 27.8-35.0 °C |
| At the end | 25.6 °C |
- For 50 minutes the phones barely warmed: the battery sensor rose by a median of 1 °C, and the skin sensor stayed at or below 24.0 °C on every phone.
- At minute 50 every phone warmed at once by a median of 5 °C on the battery sensor and 6.5 °C on the sensor the phone calls AP, then cooled back within eight minutes. Our test did nothing different then; the cause is not known.
- No phone reached 45 °C, where the test would have stopped it, and Android's thermal status stayed at "none".
The phones ran on battery. Phones kept on chargers run warmer, so leave room for that in a lab.
How we measured
- Phones: 17 Samsung Galaxy Z Flip4 (SM-F721B), Android 14, the same patch level; 17 of our 20 test phones (3 were not on the network that night).
- Connection: ADB over TCP, each phone on a USB-C Ethernet adapter, one router; phones on battery.
- Computer: one Windows 11 PC with 16 logical cores; adb 37 and scrcpy 4.1.
- Script: read-only except for the swipes; screenshots and recordings were deleted as soon as they were measured.
The first night's temperatures were not usable: the phones' battery service had been frozen by an earlier test override and reported the same temperature all hour, so the heat hour was repeated with the thermal sensors. The paper describes the method, every exclusion and the limits in full.
The desktop app's own load
Measured separately with BenchFleet on the same PC and phones, with all 17 phones as live screens in a maximised window: about 1.1 % CPU and 1.1 GB of memory when idle, and 1.3-1.8 % CPU and 1.25-1.37 GB with all 17 phones swiped every 2 seconds. See how that works in controlling many Android phones from one PC.
What this does not show
- Other phones. One model, one Android version. Other chipsets may differ.
- Heavy work. Swiping a home screen is light; games, video and app tests produce more heat.
- Other connections. Wi-Fi, USB cables and hubs give different times.
For how BenchFleet itself handles 1,000 simulated phones, phones dropping off and restarts, see the reliability report.
Download the data
Under CC BY 4.0, with the phones labelled P01-P17 (no serial numbers):
- adb_round_trips.csv: ADB round trips by group size
- screenshots.csv: screenshot times per phone and all at once
- stream_start.csv: time to the first video, both nights
- heat_samples.csv: 1,768 sensor readings from the heat hour
- heat_stream_chunks.csv: the 1,022 one-minute recordings
- phones.csv: model, Android version, chipset and screen of each phone
The paper and the same files are on Zenodo: doi.org/10.5281/zenodo.24009226.
Questions
Does ADB get slower with more phones?
Yes, gradually. In our test the median round trip of adb shell echo went from 69 ms with one phone to 102 ms with 8 and 135 ms with 17 phones sending at the same moment, and every call succeeded.
Do Android phones overheat when their screens are streamed all day?
Not in our hour. With 17 phones streaming over scrcpy and their screens swiped every 5 seconds, the battery sensors rose by a median of 1 °C in 50 minutes. The highest reading, 35.0 °C, came from a short rise on all phones at once whose cause we do not know. The phones were on battery; charging adds heat.
How long does a screenshot take with adb?
A median of 297 ms per phone one at a time and 401 ms when all 17 phones took one at once, with adb exec-out screencap -p. The screens were mostly dark, so a busy screen takes a little longer.
Can one PC stream 17 phone screens at once?
In our test it did for an hour. 1,019 of 1,022 one-minute scrcpy recordings succeeded, about 31 Mbit/s arrived at the PC in all, and a new stream showed its first video 0.6 seconds after it started.
Can I use the data?
Yes. The CSV files are on this page and in the Zenodo record, under CC BY 4.0, with a paper that describes the method and its limits.
Start with the Free plan
Free for up to 3 phones, with no account. Pro adds workflows, schedules and AI for up to 25 phones from £12 a month + VAT.
- A Free plan with no time limit and no account
- Starts in Local mode, with no telemetry or analytics in the app