Commit Graph

4 Commits

Author SHA1 Message Date
Menno Finlay-Smits 8f183ba440 Avoid polling in main GUI loop (#245)
Instead of waking up regularly WaitEventsTimeout, WaitEvents and
PostEmptyEvent are used to make the main loop purely event driven. The
rate of redraws due to terminal activity can be tweaked via the new
wakePeriod const.

This leads to some significant performance improvements: Aminal now consumes:
- no CPU when idle (previously ~2.7% on my laptop)
- ~8.5% CPU on my machine when running htop full screen on a large
  monitor (previously ~18.5% on my laptop)
- scrolling large amounts of output is an order of magnitude faster

This change also incidentally fixes data races around the terminal
dirty flag (which is now gone).
2019-03-11 22:57:41 +02:00
rrrooommmaaa 7ac6c801e2 fix data races (#230) (#235)
* fix data races (#230)

* Update CODEOWNERS
2019-03-07 11:15:48 +02:00
Liam Galvin 61edd75524 colour hinting 2018-11-25 11:06:05 +00:00
Liam Galvin 1c96cb83d5 add hinting 2018-10-29 20:35:49 +00:00