|
From: | Jan D. |
Subject: | bug#1867: Resizing window causes text flickering when using antialiased font on X |
Date: | Wed, 05 Oct 2011 09:01:28 +0200 |
User-agent: | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20110929 Thunderbird/7.0.1 |
Glenn Morris skrev 2011-10-05 03:13:
Bo Lin wrote:1. Choose a font FONTNAME which supports antialiasing. Confirm antialiasing is turned on for FONTNAME in fontconfig: $ fc-match -v FONTNAME |grep antialias antialias: FcTrue(w) 2. emacs -q 3. M-: (set-face-attribute 'default nil :font "FONTNAME") 4. C-x 3 C-x 2 Now there are three windows. We'll name the upper-left window 1, lower-left window 2, and the right window 3. 5. C-x b *scratch* RET C-x o C-x b *Messages* RET C-x o C-h i 6. Using mouse, quickly drag mode-line of window 1 up and down. Observe how text in window 1 and 3 flicker as windows 1 and 2 are resized. The main point is that window 3, though totally unaffected by the resizing of windows 1 and 2 and showing a different buffer, is still been constantly redrawn. This quite annoying, as even when the mini-buffer window resizes, which happens quite frequently, will cause the whole frame to flicker. This flickering does *not* occur if using old X core fonts. To confirm, start with `emacs -q -fn fixed' and repeat steps 4-6.[...]In GNU Emacs 23.0.60.7 (i686-pc-linux-gnu, GTK+ Version 2.14.4) of 2009-01-12 on unicorn Windowing system distributor `The X.Org Foundation', version 11.0.10502000I don't seem to be able to reproduce this. Do you still see this with the latest version of Emacs?
It is possible that this is not visible on faster systems. Antialiased fonts requires erase of the old text then write of the new text from the client (i.e. Emacs). This is slower than with core fonts where you call XDrawImageString and the X server then does both erasing and writing. The fact that unaffected windows get redrawn must have something to do with the display engine. That may have been improved in later versions.
FWIW, I can't see any text flicker in the scenario above. However, the hollow cursor in the non-selected windows do flicker which indicates that there is some redrawing going on.
Jan D.
[Prev in Thread] | Current Thread | [Next in Thread] |