Places where we spend most of the startup time:
opengl=probetakes 1s on my system - can easily take more with other GPUs / drivers, hence the need for #2345
import xpra.platform.guitakes 120ms (not sure why yet)
import xpra.client.UIXpraClienttakes ~40ms (not bad considering how much that imports)
get_platform_infotakes 40ms - this could be done from a separate thread
setup_menu: 120ms (mostly loading icons from disk - not much we can do? is it worth using pillow to load from a separate thread?)
Start to finish only takes 2 seconds, more than half of which is the opengl probing!
--no-speaker --no-microphone --opengl=no --encodings=rgb --video-decoders=none --csc-modules=none --tray=no, my python3 client starts in just 0.5s.
xpra.pngicon (importing pillow, etc) - can't really avoid that
That's enough I think.
See also: #2349 cache audio query
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/2347