XuNeo commented on PR #12733:
URL: https://github.com/apache/nuttx/pull/12733#issuecomment-2241036269

   Hi @TimJTi ,
   
   There are two issues with your current setup. I have explained a bit in 
https://github.com/lvgl/lvgl/issues/6389.
   
   ### Issue
   
   From the video, it looks like the arc head is flicking. This happens because 
LVGL's intermediate drawing result is sent to display by hardware LCD 
controller directly without waiting.
   The second issue is tearing. With single frame buffer, this will happen for 
sure.
   
   ### Solution
   
   LVGL has a special refreshing mode called PARTIAL mode. It allows LVGL to 
draw on a temporal buffer and memcpy to FB when it's really finished(thus no 
flicking). It can still suffer from screen tearing with single FB.
   
   Current LVGL NuttX porting(`lv_nuttx_fbdev.c`) does not support this mode. 
`lv_nuttx_lcd.c` has support but I have no experience using it.
   
   Instead of hacking into FB driver, we should upgrading  `lv_nuttx_fbdev.c` 
to add support to PARTIAL mode.
   
   ### Multiple instance
   
   LVGL V9 introduces support for multiple instances, allowing multiple windows 
to run simultaneously. The server allocates virtual framebuffers to clients, 
which can be easily composed using the LVGL Image widget. Clients draw on the 
virtual FB and send update events to the server.
   
   The NX Graphic system sounds like a good candidate for managing the window 
framebuffers, and input events. The recent [LVGL QNX porting 
PR](https://github.com/lvgl/lvgl/pull/6507) has something similar that using 
QNX Screen window as a display. 
   
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to