From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.help Subject: Re: Would there be a drawback of using the same graphical toolkit on every platform? Date: Sat, 19 Feb 2022 21:37:31 +0200 Message-ID: <83pmniy7es.fsf@gnu.org> References: <87bkz3pltw.fsf@yahoo.com> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="25159"; mail-complaints-to="usenet@ciao.gmane.io" To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Sat Feb 19 20:38:26 2022 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nLVYn-0006NO-KV for geh-help-gnu-emacs@m.gmane-mx.org; Sat, 19 Feb 2022 20:38:25 +0100 Original-Received: from localhost ([::1]:57092 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nLVYm-00078V-CE for geh-help-gnu-emacs@m.gmane-mx.org; Sat, 19 Feb 2022 14:38:24 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:41424) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nLVXy-00077U-Mz for help-gnu-emacs@gnu.org; Sat, 19 Feb 2022 14:37:34 -0500 Original-Received: from [2001:470:142:3::e] (port=40246 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nLVXy-0005nr-C3 for help-gnu-emacs@gnu.org; Sat, 19 Feb 2022 14:37:34 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=q8oD/J1Y2WEnWYXQyrB0kZCd/gY+g32JSH70AQPXH4o=; b=lS7CZA9/QWJ9 LNSGf03hDi3qjQ2Uz2+wLZ5TQAjPNazpE819OcgjLHZWV/CxpVH//PTlFGW92WjoY5Uc0aWOGpS1g 61UVwku5J9fHCYAEcIuF1BQZK5MR0k5wE+TYFb2I2b6fAPinkunj1slw7dd6tp8/UoyFLWFuLOPOd hmSSzTiKfygR6Z0Q6JB05elWOBOxUNGntxs9YDpnwokTAs9mQjG2LoiWBXHNZEcwQvC+a/RpFBbS4 wF0+ZI/6kxibi2pe300DNUrJdxoa/s/ZQ2Ps+gjm4qb+KTT+QPqnAvsCmBXAVwGpeV5XJntXDdIVf 195E0OyBWgNnBLTjqKvWMA==; Original-Received: from [87.69.77.57] (port=3984 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nLVXx-0003K0-Cy for help-gnu-emacs@gnu.org; Sat, 19 Feb 2022 14:37:34 -0500 In-Reply-To: (message from emacsq on Sat, 19 Feb 2022 19:20:35 +0000) X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:136016 Archived-At: > Date: Sat, 19 Feb 2022 19:20:35 +0000 > From: emacsq > Cc: Po Lu , > emacsq via Users list for the GNU Emacs text editor > > > > That is because > > Emacs reverse the framowork roles, which does not work always well with toolkits > > that are designed to be in driving seat of the application main loop and > > display. There is an interesting post about Emacs and how it threats graphical displays by D. Colascione > > An excerpt: > > "One simple approach to implementing redisplay is to just redraw all the frames, windows, and buffers from scratch. This approach might be good enough for a shitty 2016 video game like Nuclide or Eclipse, but not Emacs. > Emacs was designed for much more constrained systems. Men were men, women were women, and bandwidth was expensive. Consequently, Emacs tries very hard to optimize redisplay." This is almost unrelated to the issue at hand, which AFAIU is what toolkits to use. Toolkits have almost no role in the Emacs redisplay and no influence on it > Since today bandwidth is not expensive, does this mean Emacs could > move avay from the current redisplay to a simpler method which just > redraws everything when required? No. Redrawing all the windows on all the frames would be unbearably slow, even today. A small example: in Emacs, even moving the cursor one buffer position to the right or to the left triggers a redisplay cycle. Redrawing everything upon each cursor movement would be very slow and will cause an annoying flickering. Redisplay optimizations still count, even today. One (but not the only one) reason is that computers became faster, but people's expectations from them changed accordingly. No one would like to have a 0.5 sec delay in response to some command like cursor motion of window scroll.