So I've built a little MIDI router with a Teensy 4.0 and I have a Kuman 128x64 I2C OLED. I'm building with PlatformIO.

I found that with both u8g2 and Adafruit SSD1306, I was getting extremely slow frame updates. 37ms with u8g2 and 25ms with Adafruit SSD1306. By changing the bus clock speed (setBusClock(1000000) for u8g2, constructor argument for Adafruit), my update time went to 8us and 2us respectively. The frame is doing a clear, drawing a single line of text (which moves over time), and then updates.

20ms I think would be right if you're synchronously sending out ~1KB, so the 25ms seems reasonable with framing. The 2-8us seems like it's entirely being buffered and sent out asynchronously.

Am I missing something obvious here?