Replies: 14 comments 1 reply
-
Cool will try this when I find some time. Leaving this open for a while so I don't forget! |
Beta Was this translation helpful? Give feedback.
-
I don't know if it's the best way, let me test for a few days. |
Beta Was this translation helpful? Give feedback.
-
@lanistor how is going on with this? maybe you can make an LVGL fork and we can link your efforts from here? |
Beta Was this translation helpful? Give feedback.
-
@lanistor Another idea: Afaik LVGL also supports grayscale (8 bit). You could use two buffers, one as a draw buffer for LVGL and another that you transfer into then calling flush_cb. Since there you don't need to care about rotation / bounds checking it should be faster, even more so when using the S3 vector instructions. |
Beta Was this translation helpful? Give feedback.
-
I'd like both ideas very much. @lanistor please make a fork of LVGL so I can follow our progress. |
Beta Was this translation helpful? Give feedback.
-
I didn't find the grayscale (8 bit), what's it name? |
Beta Was this translation helpful? Give feedback.
-
Hello Lanistor, any update in this field? |
Beta Was this translation helpful? Give feedback.
-
Sorry, i havn't start on it yet, for Busying in mass production of products. |
Beta Was this translation helpful? Give feedback.
-
It’s no problem I’m also busy in another things. But I have actually the same needs for a client, maybe we can help each other on this one |
Beta Was this translation helpful? Give feedback.
-
Lanistor we 've been working into LVGL also for a client needs using a v7 clone. Some of our experiences optimizing time for LVGL resumed in a few sentences:
if (lv_disp_flush_is_last(drv)) { // only send to e-paper when complete
// DEFINE update_area
epd_hl_update_area(&hl, updateMode, temperature, update_area); } Trying to document this slowly here: |
Beta Was this translation helpful? Give feedback.
-
Got it, thanks a lot. |
Beta Was this translation helpful? Give feedback.
-
That sounds very interesting. When you meant rendering screen on CPU do you mean core of the MCU? |
Beta Was this translation helpful? Give feedback.
-
Yeah, here is the demo code : https://github.com/flickerlist/lvgl_epaper_drivers/blob/release/monochrome/lvgl_tft/epdiy_epaper.cpp. I start a new thread on core It need well adapted to business logic, the thread's |
Beta Was this translation helpful? Give feedback.
-
I upgraded my fork of LVGL with epaper and also touch drivers to 8.3 version |
Beta Was this translation helpful? Give feedback.
-
Introduce the problem
Combining lvgl and epdiy, we facing a problem: the pixel need to convert to color of epaper (16 grayscale colors, 0~15), when using
set_px_cb
, the painting will be very slow, it increases the time consumption by2.0~2.5 times
, here is the test result: lvgl/lvgl#3921 (comment).Proposal
I think if lvgl has a color like
lv_color4_t
, the painting will not need to callset_px_cb
beforeflush_cb
, thus will increase the painting speed a lot.I'm going to resolve this problem, add a
lv_color4_t
tolvgl
? Is there a better way to resolve this problem?lvgl/lvgl#5294
Beta Was this translation helpful? Give feedback.
All reactions