all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Jan D." <jan.h.d@swipnet.se>
To: Glenn Morris <rgm@gnu.org>
Cc: Bo Lin <lbsmtp@gmail.com>, 1867@debbugs.gnu.org
Subject: bug#1867: Resizing window causes text flickering when using antialiased font on X
Date: Wed, 05 Oct 2011 09:01:28 +0200	[thread overview]
Message-ID: <4E8C00C8.9010208@swipnet.se> (raw)
In-Reply-To: <cnwrckgrzw.fsf@fencepost.gnu.org>

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.10502000
>
>
> I 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.






  reply	other threads:[~2011-10-05  7:01 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-12 10:10 bug#1867: Resizing window causes text flickering when using antialiased font on X Bo Lin
2011-10-05  1:13 ` Glenn Morris
2011-10-05  7:01   ` Jan D. [this message]
2011-10-05 10:41     ` Eli Zaretskii
2011-10-05 17:34       ` Jan Djärv
2011-10-05 20:29         ` Eli Zaretskii
2011-10-05 21:16           ` Jan Djärv
2011-10-06 14:17             ` Jason Rumney
2011-10-05 21:57       ` Chong Yidong
2011-10-06  5:33         ` Eli Zaretskii
2011-10-06  6:05         ` Jan D.
2011-10-06 15:06           ` Chong Yidong
2011-10-06 19:38   ` Bo Lin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E8C00C8.9010208@swipnet.se \
    --to=jan.h.d@swipnet.se \
    --cc=1867@debbugs.gnu.org \
    --cc=lbsmtp@gmail.com \
    --cc=rgm@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.