Performance issues with font drawing routines


Sorry, once again I have attempted to post this as an issue on GitHub and I still appeared to be blocked! I have emailed GitHub but still waiting for a reply.

Up until yesterday I have been using the Dev-6.0 branch without the new font routines and all was working well for me. I have now integrated the latest Dev-6.0 branch with the new fonts and font drawing routines and I have a very poor performance issue. I am running LittleVGL on a 666MHz Cortex A9 core so there is no lack of computing power. The issue becomes particularly prevalent when displaying a multi-line text area containing about 40k bytes of text. If you move the mouse across the text box the GUI grinds to a halt and the CPU & GUI utilisation hits 100%, if you continue to move the mouse away from the text box everything recovers and returns to normal. I halted the code during this issue and captured the call stack it always looks the same when ever I halt the code, this is shown in the attached image below:

I would expect if you create a text box and load a ~40k byte file and move a mouse pointer over it you will see the issue. I don’t currently work with the simulator so I am unable to provide a simulator code snippet, but I expect with the simulator running on a PC you may not see the issue as it has far more computing power available.

In general, everything in my GUI has slowed down considerably with the new font routines so I think there may be a need to revisit the implementation? I am also concerned for projects with small micro’s which are potentially going to struggle to render the fonts under some circumstances. I am very impressed with LittleVGL to date and I can see the enormous amount of work that has been put in to it. I am sorry to be critical but it is currently unusable for my application as is. Is there anything I can do to assist with trying to improve the situation?

Kind Regards,


@pete-pjb I’m assuming you found the problem?

Hi @embeddedt,

Thanks for checking…

I posted this originally on Github, but Github keep blocking my account… I received an email a little while back suggesting they had fixed the problem so I removed the post from here as I think it should really be on Github.

I haven’t found the problem, I am not sure if it is a ‘problem’ as such, I think it’s just the level of processing required for the new font format, combined with a large area of text and the movement of a mouse pointer over it, is slowing things to an absolute crawl… I know I seem to be unique in my use of the Text Areas and Rollers/Ddlists with large amounts of data from what I understand but unfortunately my application requires this… I am currently thinking about what to do next as I am at a show stopped situation right now. It might be that I have to implement lots of call backs on my items and only load the data as they scroll or something but it’s not trivial…

Kind Regards,