The Milk-V Duo is plenty fast. That’s not a very fast line algorithm (it’s DDA, borrowed from geeksforgeeks.org), and I’m not doing anything fancy with writing to the display. Just pushing my bitbang i2c so it writes as fast as the SSD1306 will go. The 1306 is specced at 2.5 uS i2c clock cycles.
Using NOPs instead of usleeps in my code I get down to 3 uS i2c clock cycles. With 1 uS usleeps I could only get 160 to 170ish uS clock cycles. The display is WAY too slow at that i2c rate. At 3 uS it’s pretty good.
I actually had the display running faster than that, but decided that exceeding their spec would probably be unreliable.