Skip to content

Commit b194c1a

Browse files
committed
Updates README.md
1 parent faade1b commit b194c1a

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,27 @@ to C99 and vice versa. It allows us access to the LVGL code by using the Python
3030

3131
<br>
3232

33+
## *Important Update*
34+
35+
I have altered how the RGBBus driver works. Due to low framerates from LVGL needing to render the whole screen
36+
each time a small change is made and LVGL also having to keep the 2 frame buffers in sync I have decided to try
37+
and bring a little bit of my coding ability to the show to see if I am able to overcome some of the performance issues.
38+
39+
This comes at the cost of additional memory but due to the buffers needing to reside in SPIRAM because of their size
40+
I figured what's a couple hundred K more. What I have done is this.
41+
42+
The 2 full frame buffers are no longer accessable to the user. These are kept tucked away in C code. The user is able to
43+
allocate partial buffers of any size they want. I have not messed about with this to see if there is a sweet spot with the
44+
size but I would imagine that 1/10 the display size is a good starting point. I am running a task on the second core of the ESP32
45+
and in that task is where the buffer copying takes place. This is ideal because it is able to offload that work so there is no
46+
drop in performance in the user code. MicroPython only uses one core of the ESP32 and that is what makes this an ideal thing to do.
47+
48+
If you use 2 partial buffers while one of being copied to the full frame buffer LVGL is able to fill the other partial buffer.
49+
Another nifty thing I have done is I am handling the rotation of the screen in that task as well. This should provide much better
50+
performance than having LVGL handle the rotation.
51+
52+
So make sure when you are creating the frame buffers for the RGB display that you make them a fraction of the size of what they
53+
used to be.
3354

3455
## Table of Contents
3556

0 commit comments

Comments
 (0)