juanjqh / lvgl_eve_gpu_test-main

MIT License
1 stars 2 forks source link

Mixed EVE and LVGL #2

Open capricorn-one opened 4 months ago

capricorn-one commented 4 months ago

One thing I'm sure you also noticed... drawing text generates a huge amount of display list commands, very easy to fill up the entire 8k buffer.

Wondering if there's a way to mix EVE and the LVGL engine smoothly so that you can utilize the EVE text drawing commands in cases where there's a lot of text to put on the screen.

juanjqh commented 4 months ago

Hello, initially I used eve_cmd_text(), but it was necessary to convert each font with the Eve Font Converter and load to RAMG at the start. The advantage, as you say, is a smaller display list size, but more size in the RAMG. LVGL font reduce to 1/4 size in ramG per font than fonts converted directly with the EVE converter. Both methods could be implemented and used according to the user's decision. I could add this functionality in the new release.

capricorn-one commented 4 months ago

After spending a lot more time with your code I think you actually took the right approach. Just got a little excited and thought I was going to run into trouble, but now that I've spent more time with it, seems like an unnecessary step to go that way. Would really only be a big benefit for screens with LOTS of text, at which point.. maybe just use the eve functions for drawing text, would be a lot easier.

It does make me think though, something that might be nice is like a basic lv_draw_eve_display_list(func_ptr) command that basically just runs a chunk of display list commands from a callback type function. That way you can really start to leverage the EVE performance inside LVGL.

juanjqh commented 4 months ago

Let's see, tell me a bit about your idea, I find it interesting. On the other hand, I have no problem with you writing to my email. juanjosequintero@gmail.com