67

In the Chrome browser's developer tools, there are various ways to throttle your network connection to emulate different connection types.

Those menus for selecting a connection type used to show the speeds and latency that would be used to simulate each connection type.
Throttling menu with informative labels

Now, as of at least Chrome 64, the useful information about speed and latency has been removed.

Throttling menu with uninformative labels

I tried duplicating the numbers from the first image for Regular 3G and Good 3G in my own custom profiles to see if they matched the Slow 3G and Fast 3G presets from the first image but I got significantly different results for the DOMContentLoaded and Load event times between the presets and my custom profiles.

3
  • 2
    This question seems better suited for Super User. If you decide to move the post there, please delete this one to avoid cross-posting.
    – Vince
    Commented Feb 18, 2018 at 3:18
  • 750 KB/S for good 3G! That would have been nice Commented May 23, 2018 at 19:55
  • See related question: stackoverflow.com/questions/48367042/…
    – Pierz
    Commented Jan 8 at 14:40

1 Answer 1

73

DevTools tech writer and developer advocate here. The history behind the change is that DevTools now tries to emulate the real conditions of what a fast 3G network really feels like. Previously, DevTools showed you upload / download / RTT values, as you have shown in your screenshot of the old UI. But those values were misleading. They may be technically correct, but when DevTools was benchmarked against other throttling tools, DevTools didn't throttle enough. E.g. if you loaded a page with tool A that throttles for 3G, and then loaded that same page with DevTools (also throttling for 3G), the page loaded faster with DevTools.

So DevTools doesn't show the exact values anymore, but if you measure the load performance of DevTools against other throttling tools, you can see that they all perform similarly now.

The reason that DevTools doesn't show values anymore is that they don't map to reality well. For example, maybe you look up that a certain connection speed is defined as X download rate, Y upload rate, and Z RTT rate. So you put those values into DevTools. Those values aren't going to approximate the real-world conditions well. DevTools is going to load faster than the real-world experience. It's better to benchmark how a certain page really loads on that connection, and then tweak the input values until DevTools loads your benchmark page at around the same amount of time as your real-world benchmark.

Of course, another approach would be to get a Chrome engineer to tweak Chrome's throttling engine so that the values you input actually do map to reality well. But for whatever reason, that's not happening.

Since it's possible to add custom throttles, I'm aware that we need to update the DevTools UI to explain this limitation. In other words, when you create custom throttles, you should benchmark a page and then tweak DevTools inputs until it matches the benchmark, rather than relying on the values.

Hope that makes sense.

9
  • 1
    Thanks for the great explanation. Does DevTools now emulate 3G simply by lowering the download rates and increasing the RTT from their previous values? Or does DevTools add random drops in speed and increases in RTT to "feel" more like 3G?
    – tvanc
    Commented Feb 20, 2018 at 16:08
  • 1
    @turibe glad it made sense. To answer your question, no, DevTools does not add random drops and increases, as you would see in real 3G. We've discussed it, though. Commented Feb 20, 2018 at 16:30
  • 21
    Hopefully helpful to others who stumble upon this response, since the actual numbers are useful for having an apples-to-apple comparison when driving Chrome using developer tools protocol for example with Puppeteer... The parameters appear to be set to: 90% of 1.6 Mbit/s for download, 90% of 750 Kbit/s for upload and 150 * 3.75 ms latency
    – AndriusA
    Commented Sep 25, 2018 at 13:43
  • 2
    So... are the numbers linked by @AndriusA the Actual Numbers Used? Or should I interpret OP to mean "our simulation involves more than those three numbers, so they should be ignored entirely"? Commented Jan 4, 2019 at 17:51
  • 3
    @mac9416 you should interpret it as "ignore the numbers". Tweak the numbers until the device performance actually resembles how you'd expect the page to load under certain conditions. E.g. on a true mobile device on a true cell network you observed that the page loaded in 10 seconds. You should tweak the DevTools numbers until DevTools also loads the page in 10 seconds. Commented Jan 4, 2019 at 20:44

Not the answer you're looking for? Browse other questions tagged or ask your own question.