From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Po Lu Newsgroups: gmane.emacs.devel Subject: Re: Stipples and scroll optimizations Date: Sun, 08 May 2022 17:20:14 +0800 Message-ID: <87sfpk4bzl.fsf@yahoo.com> References: <87a6bs5w05.fsf.ref@yahoo.com> <87a6bs5w05.fsf@yahoo.com> <83ilqgwkfw.fsf@gnu.org> <875ymg5vgm.fsf@yahoo.com> <83h760wjyt.fsf@gnu.org> <871qx45ud0.fsf@yahoo.com> <83ee14wfzc.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="29270"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.91 (gnu/linux) Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun May 08 11:22:25 2022 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 1nnd7Q-0007MN-UV for ged-emacs-devel@m.gmane-mx.org; Sun, 08 May 2022 11:22:24 +0200 Original-Received: from localhost ([::1]:49630 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nnd7P-0004Tc-Tn for ged-emacs-devel@m.gmane-mx.org; Sun, 08 May 2022 05:22:23 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:56564) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nnd5W-0002lT-3V for emacs-devel@gnu.org; Sun, 08 May 2022 05:20:27 -0400 Original-Received: from sonic309-20.consmr.mail.ne1.yahoo.com ([66.163.184.146]:43860) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nnd5U-00078J-Bp for emacs-devel@gnu.org; Sun, 08 May 2022 05:20:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1652001621; bh=xyBm/5Yk6fRgPSP40LztmmpVgKYw82luJGI3JMEFEU8=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject:Reply-To; b=MThSHLsdjucfIq9SA262YX4Id7BFj46Xfmmd/JVzqcfU1jXXnvLMC789XubrRY2gvT2Tk6fdRsEd6sAvsEuawW+3o/l172WdlsaB/Me5juYbKKieoyJheX+Sqg4N5Vg+WYnCYfKJOtwLcCNjpQY6c0ZcTIAxjkkZaE7qCj2s0316AY7+RSZdAgPtRdtHGw8XG2Fjgfa0NI4tvUuB36OVRs7QV6v5rA3VPqwPbW5CTDCAMwfZ5JMRvSi8zKzb7HDrAOJlsU+UAKTleuWfrI85v6m4doFPOwEttA5/v+obDuPV4POumTNwJY6eDA1Y2AKSobQ1zmpW0Q+hTFbA70fIXw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1652001621; bh=+ybLodaUsX2iFgd1LCVHIkTY0eGiWh6Tgu/QAS/W/pk=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=YBjgD6cuOFZ0TCAWvkCquiYGRr/otG3y38z7NOaNdee4fhEFkT2mLMY1b+KszPAL8oVz7/EPBMndrBEr37DuhN3dKsS21X2BvTEPl+fH9WUtwAVyWGzujEH1GfzxabLwC22T7U4taYlqDlnw1QURNQwjj4ekjR4zq2zpUzZGSJQFdoDhDr+YHREsct+EPBZJ8Bjd9ZChq+C530ZAugJmG3X3pvTk0NfkcrXfCOPwssdiEj1J3fI7oeBAi8ntGqYxjeXsJmwIHwZbEJFI+HAd+334bQcBn65icMXoyPUFfnqUQOvnMC+N9n1oZQqH4xi6SuSYsRd8ulrOxm19hFZG4A== X-YMail-OSG: 68gJIvUVM1m6ENfD.Nl8afpGxg56ZOUQHthSMYiEMkW4_EaUeKCCaIraHLvTudl WzOy2GrEg9TWiPq_MEXS2ENsOWkXcSNeb._2jcFtlLM3kmn0erT98yJ9_JbVLc0_b9WbFw5gQday kewiftXBbCDXdVr9eLVCl72ylQwwP8u.zeZ3lO6mpPKUX9vQRpVa5fNoCJRNYFeRFuA4lp4.u1KB D0__pu5RLVLxbxtnf8.c9pNvLY5rU.zNjnpNFbRcLdILFy_75_3fgjPv_ImM6S9OGfOnJN7MmdXG QShlrlC7My_ha1VSVGiaWrGmZ8FaEujZaJmDUYEtsHYHpPYby5v1LW9iRn.Org9m0KJzZXDWUNhu eWBHYMqiKmBrvgfYZ5WYKQpKG8k7m1qat78M5iu2v6eP5U8qHKIA0QR1TotDTcwLu.SDN.5YhQmb Ad5H42POBM6T90zs.KLZMwXSxqTM0GUOxPjWSv57eyBKSJAUKQAdoqVgKpr76EY3GJwwWoZPJElx iy3wbW1RYx1Te1G8TItPi1boFVf8jMDen6TV.l205XYYPySBikjgNnm7nK5FnuqFuqrg9fgDmNVA C.6CWOPpUxUqzLtP80WMnP28JDEnZNNnrPCt7zLLprbngZNBg67mZHVZZM2suwAB7sCw7JMdA0GS MMN7sljhlfpesRHAbmElVvX8zC4y.zabrYuc15ohZE9E4nq4ppy.ZY9sVygoNUjBIFqlkjl2rBOL zkuxuo616daWBwnYm5giqeb5HLAWv8PbmXOb3ShcLAPZl.QnIYwFypBRzB42WHWIemLhdhp9m0R5 aFzv4tTOKPIkwG.8OeZEC4u8rRkkoybE41WLaK0WQ4 X-Sonic-MF: Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic309.consmr.mail.ne1.yahoo.com with HTTP; Sun, 8 May 2022 09:20:21 +0000 Original-Received: by hermes--canary-production-sg3-795d7b4d54-kqwtl (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 8ef745e8e95d379ec90d6a61a29b9857; Sun, 08 May 2022 09:20:18 +0000 (UTC) In-Reply-To: <83ee14wfzc.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 08 May 2022 12:06:31 +0300") X-Mailer: WebService/1.1.20188 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Received-SPF: pass client-ip=66.163.184.146; envelope-from=luangruo@yahoo.com; helo=sonic309-20.consmr.mail.ne1.yahoo.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action 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:289461 Archived-At: Eli Zaretskii writes: > Sorry, I don't understand: what is the "previous" glyph matrix, and > how can you use it for this test? I mean the glyph matrix representing what is currently on the glass, the "current matrix". > Really? I see that 'struct face' has a 'stipple' member, which is set > in realize_gui_face, and that happens when we realize the face, long > before x_draw_glyph_string is called. And each glyph in a glyph_row > has a face_id member, which allows you to get at the corresponding > face structure. Why cannot you use this to detect glyph_row's that > use stipples? The only type of glyph whose stipple is ignored is the > cursor glyph, and that hardly matters for your purposes here, no? Whether or not a stipple is present usually depends on the `stippled_p' flag, which is set in `x_set_glyph_string_gc'. But for starters, drawing an image glyph might change that flag, and an image might also obscure the stipple entirely, in which case we don't want to inhibit the scrolling optimization.