Initializing the Network menus is slow and can block the UI
NM initialization can be somewhat slow and not really async per sé (here's the upstream bug) however, even fixing that side generating the PopupMenuItem's for few connections might slow down and block the animations on startup.
Here's some numbers here (compare with this revision of the file https://gitlab.gnome.org/GNOME/gnome-shell/blob/3.33.92/js/ui/status/network.js#L1614):
timestamp at NMApplet<@/media/M2/GNOME/gnome-shell/js/ui/status/network.js:1614:64 1567740530719 +0ms
timestamp at _clientGot@/media/M2/GNOME/gnome-shell/js/ui/status/network.js:1618:54 1567740532074 +1355ms
timestamp at _clientGot@/media/M2/GNOME/gnome-shell/js/ui/status/network.js:1641:60 1567740532108 +34ms
timestamp at _clientGot@/media/M2/GNOME/gnome-shell/js/ui/status/network.js:1644:55 1567740532110 +2ms
timestamp at _readConnections@/media/M2/GNOME/gnome-shell/js/ui/status/network.js:1888:59 1567740532112 +2ms
Creating menu item for connection, Firenze SSH
Creating menu item for connection, Canonical QA Lab
Creating menu item for connection, Canonical VPN (US)
Creating menu item for connection, PureVPN (L2TP)
Creating menu item for connection, Vodafone Station (PPTP)
Creating menu item for connection, VyprVPN OpenVPN
Creating menu item for connection, QSnappy Firenze (marco)
Creating menu item for connection, VyprVPN
Creating menu item for connection, VyprVPN (PPTP)
Creating menu item for connection, us-marcotrevisan
Creating menu item for connection, Torino
Creating menu item for connection, Firenze OpenVPN
Creating menu item for connection, uk-marcotrevisan
Creating menu item for connection, Canonical VPN (UK)
Creating menu item for connection, PureVPN (PPTP)
Creating menu item for connection, us-marcotrevisan@2
timestamp at _readConnections@/media/M2/GNOME/gnome-shell/js/ui/status/network.js:1889:61 1567740532236 +124ms
timestamp at _clientGot@/media/M2/GNOME/gnome-shell/js/ui/status/network.js:1646:34 1567740532236 +0ms
Creating menu item for connection, DHCP
Creating menu item for connection, DHCP
Creating menu item for connection, DHCP
timestamp at _clientGot@/media/M2/GNOME/gnome-shell/js/ui/status/network.js:1647:30 1567740532384 +148ms
timestamp at _clientGot@/media/M2/GNOME/gnome-shell/js/ui/status/network.js:1648:30 1567740532385 +1ms
timestamp at _clientGot@/media/M2/GNOME/gnome-shell/js/ui/status/network.js:1649:37 1567740532385 +0ms
timestamp at _clientGot@/media/M2/GNOME/gnome-shell/js/ui/status/network.js:1650:37 1567740532394 +9ms
timestamp at _clientGot@/media/M2/GNOME/gnome-shell/js/ui/status/network.js:1665:33 1567740532395 +1ms
So, More than 200ms to initialize those menu items, and even if these aren't shown (I hacked the file not add them to any parent).
I've used a diff like this to get these timings: https://www.pastery.net/egttmx/