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.devel Subject: Re: Variable pitch text filling Date: Sat, 04 Dec 2021 10:02:27 +0200 Message-ID: <838rx07q7g.fsf@gnu.org> References: <87ilwft1ph.fsf@gnus.org> <87sfvessx6.fsf@gnus.org> <87wnkp9c3t.fsf@gnus.org> <87ee6wanra.fsf@gnus.org> <83r1awse4k.fsf@gnu.org> <87sfvc8kdw.fsf@gnus.org> <83czmgs7t1.fsf@gnu.org> <87k0go8ios.fsf@gnus.org> <83bl20s2dp.fsf@gnu.org> <87wnkojmny.fsf@gnus.org> <837dcos1oy.fsf@gnu.org> <87o860jm27.fsf@gnus.org> <831r2ws0jf.fsf@gnu.org> <87fsrcjkik.fsf@gnus.org> <83ee6uao67.fsf@gnu.org> <83sfva92vo.fsf@gnu.org> <83czme85xk.fsf@gnu.org> <877dclzoeo.fsf@gnus.org> <83pmqd7a3j.fsf@gnu.org> <87fsr9orjc.fsf@gnus.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="35378"; mail-complaints-to="usenet@ciao.gmane.io" Cc: tumashu@163.com, casouri@gmail.com, emacs-devel@gnu.org To: Lars Ingebrigtsen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Dec 04 09:03:49 2021 Return-path: Envelope-to: ged-emacs-devel@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 1mtQ1N-000935-80 for ged-emacs-devel@m.gmane-mx.org; Sat, 04 Dec 2021 09:03:49 +0100 Original-Received: from localhost ([::1]:36794 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mtQ1L-0008Hh-Sh for ged-emacs-devel@m.gmane-mx.org; Sat, 04 Dec 2021 03:03:47 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:55446) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mtQ0C-0007ar-Vl for emacs-devel@gnu.org; Sat, 04 Dec 2021 03:02:37 -0500 Original-Received: from [2001:470:142:3::e] (port=52694 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 1mtQ0C-0005pM-LH; Sat, 04 Dec 2021 03:02:36 -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=nBl1VocNLAvhlbKGgr5zULf+irIgRJMTzkpyIs8e+Bg=; b=dACu0MVIz9lc UZMaWVhDhKY/Ca6bufgnBci9R8TwPJB76GIZP7Pia6ZNHas153VJbQ3oPeidzKk+JqNA8tw0sKOU9 abpZ2isnhYf933tt+/fEddbz6Hm7IUkSZ4kv0/JVy7Qb3sll4Dicpzt4hRAY0AIRbCtCUs7V/FHdJ uWMt1QR3hIsRWvmGtlHVhPGPhmtkBLg1YBqyk2M7g1pmspMiH7tYmjOSnGwePquKD1syWSkDsMBF4 MNjP5FostLPnkqadJGgAqfB5xe+CpPQAYwgbdx+08vP8wPFDNBCYOTjy4OhJEhqzJ/UMWNR7tMeOh p+23YBNzrJw+LtQOiSG5OQ==; Original-Received: from [87.69.77.57] (port=4441 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 1mtQ0C-0002ej-Dt; Sat, 04 Dec 2021 03:02:36 -0500 In-Reply-To: <87fsr9orjc.fsf@gnus.org> (message from Lars Ingebrigtsen on Sat, 04 Dec 2021 06:41:43 +0100) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:280897 Archived-At: > From: Lars Ingebrigtsen > Cc: casouri@gmail.com, tumashu@163.com, emacs-devel@gnu.org > Date: Sat, 04 Dec 2021 06:41:43 +0100 > > Eli Zaretskii writes: > > >> If that's the case, perhaps we could stop doing that if we're doing a > >> gridded display? > > > > That'd be much slower, I guess? For each such separate glyph we need > > first clear the background with the color of the face, then draw the > > glyph itself. Right now, we clear the background for all of the > > glyphs in one GUI call, then write all of the glyphs in a single call > > to the font driver. > > Perhaps we could try to benchmark -- it might be acceptable (and we > wouldn't be doing this in all buffers normally). Actually, CJK users are likely to turn this on globally. > But I don't know how to benchmark this. Write some Lisp to add a (space :width (1)) display spec on every second letter of a large buffer, and then scroll through it one line at a time, calling redisplay after each scroll. You'd probably need to disable double-buffering, to avoid its skewing the results. Some of the slowdown will be due to processing the display properties, but if we care about that, we could measure just that separately and subtract.