espressif / esp-bsp

Board support components for Espressif development boards
Other
176 stars 94 forks source link

Component esp_lvgl_port, can SIMD instructions be used to speed up LVGL swapping bytes? (BSP-293) #154

Open modi12jin opened 1 year ago

modi12jin commented 1 year ago

I am more curious whether SIMD instructions can speed up the LVGL drawing UI process?

igrr commented 1 year ago

They definitely can be used to speed up color fill and similar operations. LVGL project is implementing the parallel drawing framework, which will allow the port layer to define handlers for specific drawing tasks (see this discussion). According to @kisvegabor the release of LVGL with these changes is planned in autumn (https://github.com/lvgl/lvgl/issues/4011#issuecomment-1491501750). Then we will implement some of the drawing tasks using SIMD instructions.

kisvegabor commented 1 year ago

I confirm it! :slightly_smiling_face:

VojtechBartoska commented 5 months ago

@modi12jin Can I close this ticket as answered?

kisvegabor commented 5 months ago

Since v9 LVGL has some built-in ASM accelerators. See an example for the usage here.

Somewhere Espressif described that maintaining the ESP-ASM on ESP's side would be more beneficial, but I don't know if there is a final decision about it. Having them in LVGL could be beneficial to avoid compatibility issues though.