The entire OLED display buffer is currently stored in memory for simplicity and performance. However, this consumes a large proportion of the limited (2K) memory available on the ATMEGA328P. As it is possible to read from the buffer stored on the SH1106 itself, it may be possible to cache a subset of pages instead. Ideally, this would have zero performance impact in the case where the subset of pages is the whole display. Also, ideally, this would not require significant changes to the low-level display API.
The entire OLED display buffer is currently stored in memory for simplicity and performance. However, this consumes a large proportion of the limited (2K) memory available on the ATMEGA328P. As it is possible to read from the buffer stored on the SH1106 itself, it may be possible to cache a subset of pages instead. Ideally, this would have zero performance impact in the case where the subset of pages is the whole display. Also, ideally, this would not require significant changes to the low-level display API.