-
-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Is it possible to access the draw buffer directly without using lv_display_set_flush_cb? #7302
Comments
@kisvegabor Can I create this pull request to implement flushing display buffer without callback? diff --git a/src/core/lv_refr.c b/src/core/lv_refr.c
index 33aed28aa..86a2976b6 100644
--- a/src/core/lv_refr.c
+++ b/src/core/lv_refr.c
@@ -1260,6 +1260,9 @@ static void draw_buf_flush(lv_display_t * disp)
if(disp->flush_cb) {
call_flush_cb(disp, &disp->refreshed_area, layer->draw_buf->data);
}
+ else {
+ lv_display_flush_ready(disp);
+ }
/*If there are 2 buffers swap them. With direct mode swap only on the last area*/
if(lv_display_is_double_buffered(disp) && (disp->render_mode != LV_DISPLAY_RENDER_MODE_DIRECT || flushing_last)) {
if(disp->buf_act == disp->buf_1) { |
Hi, Calling |
Hi, I'm working on PC and use LVGL as build-in UI in my game, so no worries about performance. and the reason why I don't use callbacks is because I use Luajit to call LVGL function. using c callback in Luajit will have unexpected performance loss. LVGL.lv_display_set_flush_cb(t.disp, function(disp, area, px_map)
cb(px_map)
LVGL.lv_display_flush_ready(disp)
end) |
I see. As a workaround, would it wok if you set an empty |
First, Thank you for your solution, you are running a great project, hats off to you!!! |
Introduce the problem
LVGL 9.3.0(master)
such as
I tried it, and it gets stuck in lv_timer_handler when the display has input events or animations are running.
The reason I don't use callbacks is simply to keep the code simple and intuitive enough. If this is not feasible, it doesn't matter. I just want to explore some possibilities. Thank you guys so much.
BTW, can lv_indev also be achieved through non-callback methods? I didn't find the relevant API.
Proposal
No response
The text was updated successfully, but these errors were encountered: