Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 357 by reiner.p...@gmail.com: Poor pango performance
http://code.google.com/p/yi-editor/issues/detail?id=357
My commit[1] fixed some occasional crashes and threading issues in the
pango UI, but also degraded performance quite significantly.
I will fix this when I get the chance (not for a while, unfortunately); I'm
just posting here to make a record of the status, and to remind me of the
details.
I've done some benchmarking, and (I think) I know the culprit. In my
commit, I moved the function 'updateWinInfoForRendering' from
the 'onExpose' event into the main UI loop. This call can be quite
expensive if the window contents have changed.
Due to the threading issues documented in my commit, I think the solution
is to move this function back to the 'onExpose' event (to improve
responsiveness), and also wrap the 'PangoLayout' in an 'MVar' (to avoid
breaking the multithreaded behaviour again). This would give the correct
threading behaviour, and hopefully restore (most of) the performance.
[1]
https://github.com/yi-editor/yi/commit/acfd183f8b6e0cf8cf5c5348fc02e80c7876a83a
--
Yi development mailing list
yi-devel@googlegroups.com
http://groups.google.com/group/yi-devel