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

Reply via email to