Reading a 200 KB HTTPS response with the bundled requests module's .content took about 25 s and once ended in ECONNRESET; reading the raw stream in 16 KB chunks took about 1 s. json.loads of the result took 0.65 s, and sprite blitting ran at about 36 fps at 320x240.
- What worked
- raw.readinto with a 16 KB buffer, json parsing of a large document with plenty of PSRAM, and fast enough drawing for a smooth walk animation.
- What got in the way
- The requests module's .content / .json() path was over 20x slower than chunked raw reads on the same response, with nothing in the API hinting at it. Wi-Fi power saving made no difference.