diff options
author | Alan Third <alan@idiocy.org> | 2021-05-21 13:33:56 +0100 |
---|---|---|
committer | Alan Third <alan@idiocy.org> | 2021-06-01 19:51:21 +0100 |
commit | 246e107d73e633c06478eaf021776acedef9dafc (patch) | |
tree | cb4ac63a1b3f6168fa7d013a792c427ccb2ec4ae /lisp/emacs-lisp/seq.el | |
parent | a32e65b357ff634a976a24ee5d5c340addc025cd (diff) | |
download | emacs-246e107d73e633c06478eaf021776acedef9dafc.tar.gz emacs-246e107d73e633c06478eaf021776acedef9dafc.tar.bz2 emacs-246e107d73e633c06478eaf021776acedef9dafc.zip |
Improve performance of NS port's display on macOS
* src/nsterm.h: Update EmacsSurface definition.
* src/nsterm.m ([EmacsView focusOnDrawingBuffer]): Don't change the
CGContext's settings directly.
([EmacsView unfocusDrawingBuffer]): Don't release the context here.
(CACHE_MAX_SIZE): Add maximum cache size.
([EmacsView updateLayer]): Send a request for getContext, which will
copy the buffer and create the context if it doesn't already exist, to
the NS run loop.
([EmacsSurface initWithSize:ColorSpace:Scale:]): Add the scale factor
and if there's already a CGContext available, reuse it.
([EmacsSurface dealloc]): No longer need to release lastSurface
separately.
([EmacsSurface getContext]): Don't create more surfaces than we have
spaces for in the cache.
([EmacsSurface releaseContext]): If there's no context don't try to
release it and put currentSurface back on the cache instead of
lastSurface.
([EmacsSurface copyContentsTo:]): Don't try to copy if the source and
destination are actually the same surface.
Diffstat (limited to 'lisp/emacs-lisp/seq.el')
0 files changed, 0 insertions, 0 deletions