From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: charles@aurox.ch (Charles A. Roelli) Newsgroups: gmane.emacs.devel Subject: Re: Change to NS drawing routines Date: Sun, 12 Aug 2018 12:47:17 +0200 Message-ID: References: <20180811140620.GA1519@breton.holly.idiocy.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1534096492 27136 195.159.176.226 (12 Aug 2018 17:54:52 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 12 Aug 2018 17:54:52 +0000 (UTC) Cc: emacs-devel@gnu.org To: Alan Third Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Aug 12 19:54:47 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fouZh-0006tA-EL for ged-emacs-devel@m.gmane.org; Sun, 12 Aug 2018 19:54:45 +0200 Original-Received: from localhost ([::1]:35619 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fouNu-0003q2-JT for ged-emacs-devel@m.gmane.org; Sun, 12 Aug 2018 13:42:34 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48199) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fouNn-0003ph-Qs for emacs-devel@gnu.org; Sun, 12 Aug 2018 13:42:29 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fouNg-0000tb-B8 for emacs-devel@gnu.org; Sun, 12 Aug 2018 13:42:23 -0400 Original-Received: from sinyavsky.aurox.ch ([37.35.109.145]:54102) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fouNf-0000rJ-EU for emacs-devel@gnu.org; Sun, 12 Aug 2018 13:42:20 -0400 Original-Received: from sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) by sinyavsky.aurox.ch (Postfix) with ESMTP id D694322813 for ; Sun, 12 Aug 2018 10:39:40 +0000 (UTC) Authentication-Results: sinyavsky.aurox.ch (amavisd-new); dkim=pass reason="pass (just generated, assumed good)" header.d=aurox.ch DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aurox.ch; h= content-transfer-encoding:content-type:content-type:mime-version :references:subject:subject:in-reply-to:to:from:from:message-id :date:date; s=dkim; t=1534070376; x=1534934377; bh=JQDT+wA7k6Sny acRm8p5QuO91Cxq/aBRjW3KE0wWp4E=; b=GAcqYDJX29D+UV2A+GbV6TM0LpaHH KQdv7iA2ZEAs2DiqFQfhESnV8kyYpYq8hnjWr3xRRrbd1ZKmj8E/Ezzxexzi52TL s/deoRNZezKsqL8HbH0kXYUH04uVfykhif3M27JhoUN1oj46B58X7YRfHC5Pvq0T 4dXRWA8M5+N8Mc= X-Virus-Scanned: Debian amavisd-new at test.virtualizor.com Original-Received: from sinyavsky.aurox.ch ([127.0.0.1]) by sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id uAd2C5YAdUYf for ; Sun, 12 Aug 2018 10:39:36 +0000 (UTC) Original-Received: from gray (214.50.105.92.dynamic.wline.res.cust.swisscom.ch [92.105.50.214]) by sinyavsky.aurox.ch (Postfix) with ESMTPSA id B75DA227F0; Sun, 12 Aug 2018 10:39:36 +0000 (UTC) In-reply-to: <20180811140620.GA1519@breton.holly.idiocy.org> (message from Alan Third on Sat, 11 Aug 2018 15:06:20 +0100) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 37.35.109.145 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:228442 Archived-At: > Date: Sat, 11 Aug 2018 15:06:20 +0100 > From: Alan Third >=20 > The next version of macOS deprecates the method we use in the NS port > to draw to the screen, specifically marking an NSView as =E2=80=98focus= ed=E2=80=99 and > then drawing to it. The =E2=80=98modern=E2=80=99 way is to only draw fr= om within the > =E2=80=98drawRect:=E2=80=99 method where =E2=80=98focusing=E2=80=99 is = already done for you. There is > some previous discussion here: >=20 > https://lists.gnu.org/archive/html/emacs-devel/2018-07/msg00799.html >=20 > I=E2=80=99ve created a new branch called scratch/ns-drawing which only = draws > from within drawRect by marking areas that are to be drawn as =E2=80=98= dirty=E2=80=99 > and then, at the end of redisplay, forcing an update, which uses > drawRect and expose_frame to redraw the relevant bits of the frame. >=20 > I believe this is a somewhat controversial approach. Why's that? > My experience so far is that performance is not noticeably slower than > master, however if someone with a slower Mac could try it that would > be helpful. I don't notice a speed difference compared to master on my slow box running macOS 10.6. Do we have any benchmarks that we could use to check?