GNU bug report logs -
#2530
23/NS: redraws according to mouse-face are slow
Previous Next
Reported by: David Reitter <david.reitter <at> gmail.com>
Date: Sun, 1 Mar 2009 22:40:04 UTC
Severity: normal
Tags: unreproducible
Done: Andrew Hyatt <ahyatt <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Thanks for debugging this.
> Now, in NS (or at least in Cocoa), there seem to be screen updates
> every time we draw a glyph string.
I see. It seems ns_draw_glyph_string is a lot more expensive that
x_draw_glyph_string. The show_mouse_face function assumes that the
*_draw_glyph_string operation is relatively cheap, which is why it's
called inside a loop.
My guess is that the problem lies in the calls to ns_focus and
ns_unfocus in ns_draw_glyph_string.
> If we wrap the code in show_mouse_face in NS[Dis|En]ableScreen, the
> problem goes away for me (and it's not just delayed). Same for the
> header-line/overlay issues I reported in #2530.
If possible, we should minimize the amount of platform-dependent code
inside xdisp.c. Could you experiment with putting these calls somewhere
in nsterm.m, say surrounding the calls to note_mouse_highlight?
Also, could it be ns_update_begin and ns_update_end that you want to
call, instead of NSDisableScreen and NSEnableScreen?
This bug report was last modified 9 years and 187 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.