Some Ideas
- do not merge small dirty rectangles that are far apart (example: pressing '=' on a calculator updates the '=' button (down, right) and the displayed value (up, left). Resulting in a very big rectangle ==> unneeded 'full' update. Same thing might happen on diagonal mouse moves...
- do a full update once in a while (say once every 50 'typing' updates), even if there is no big dirty rectangle. This avoids slowly degrading display quality
PS: any idea how and where the cpu throttling is done? (I didn't find the sources yet). Might be a good option to throttle when there are no display changes for a few seconds...
Continue the good work!
Hansel.