From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: "Jan D." Newsgroups: gmane.emacs.devel Subject: Re: Emacs GTK scroll-bar flickering Date: Tue, 18 Mar 2003 06:39:14 +0100 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: References: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 (Apple Message framework v482) Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Trace: main.gmane.org 1047966072 9261 80.91.224.249 (18 Mar 2003 05:41:12 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Tue, 18 Mar 2003 05:41:12 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Tue Mar 18 06:41:11 2003 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 18v9q9-0002OF-00 for ; Tue, 18 Mar 2003 06:40:45 +0100 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 18v9qH-0004zL-00 for ; Tue, 18 Mar 2003 06:40:53 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18v9pO-0004TV-02 for emacs-devel@quimby.gnus.org; Tue, 18 Mar 2003 00:39:58 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 18v9p6-0004TC-00 for emacs-devel@gnu.org; Tue, 18 Mar 2003 00:39:40 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 18v9p4-0004T0-00 for emacs-devel@gnu.org; Tue, 18 Mar 2003 00:39:39 -0500 Original-Received: from stubby.bodenonline.com ([193.201.16.94]) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18v9p4-0004Qz-00; Tue, 18 Mar 2003 00:39:38 -0500 Original-Received: from accessno42.bodenonline.com (IDENT:root@accessno42.bodenonline.com [193.201.16.44]) h2I6W3bL005652; Tue, 18 Mar 2003 07:32:05 +0100 Original-To: Miles Bader In-Reply-To: X-Mailer: Apple Mail (2.482) Original-cc: Kai Gro?johann X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Emacs development discussions. List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:12426 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:12426 > > I tried today's CVS; it's a bit hard to tell -- maybe the number of > full-redraws on each buffer change is less, but the overall feel is > roughly the same (painful). You must have a very complicated theme or a very slow machine, I can't see this at all. Are you sure you updated CVS? >> There are some of the redraws that can't easily be eliminated. GDK >> (the layer under GTK) does its own event buffering, and releases the >> events when the GTK event loop is entered and there are no events to >> process. Since Emacs are not using a pure GTK loop, there might be a >> very long time before GTK gets a chance to notice this. So Emacs must >> force out these events. Ideally they should not generate any more >> redraws, just make them happen earlier, but experience shows that we >> do get redraws. > > The thing is that it's not just that emacs redraws _more_ than GTK apps, > it's that it redraws _at all_ (by `redraw' here, I'm referring to full > redraws). IOW, it's a `0 vs 1' problem, not a `1 vs 2' problem. Emacs does not "redraw" the scroll bars ever, it just tells GTK what values to use for the scroll bars. The desicion to redraw is in GTK entirely. GTK redraws scroll bars by clearing all and then redraw, which is very primitive. Emacs probably changes thumb much more than Gedit, as Gedit counts lines visible, but Emacs counts characters. But a good scroll bar should be able to handle this, as indeed Motif, Xaw3d and others do. Jan D.