From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Alan Third Newsgroups: gmane.emacs.bugs Subject: bug#32932: 27.0.50; render bugs on macOS Mojave Date: Sat, 1 Feb 2020 14:22:42 +0000 Message-ID: <20200201142242.GA25666@breton.holly.idiocy.org> References: <20200129200414.GA60190@breton.holly.idiocy.org> <20200130191154.GA62970@breton.holly.idiocy.org> <20200131202335.GA63701@breton.holly.idiocy.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="100261"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Robert Pluim , 32932@debbugs.gnu.org To: Aaron Jensen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Feb 01 15:23:12 2020 Return-path: Envelope-to: geb-bug-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 1ixtfz-000Pwu-OD for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 01 Feb 2020 15:23:11 +0100 Original-Received: from localhost ([::1]:46656 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ixtfy-0008Nt-R9 for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 01 Feb 2020 09:23:10 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55668) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ixtfr-0008Ng-R1 for bug-gnu-emacs@gnu.org; Sat, 01 Feb 2020 09:23:04 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ixtfq-0000mX-Hn for bug-gnu-emacs@gnu.org; Sat, 01 Feb 2020 09:23:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:60743) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ixtfq-0000mI-CD for bug-gnu-emacs@gnu.org; Sat, 01 Feb 2020 09:23:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ixtfq-00078w-6L for bug-gnu-emacs@gnu.org; Sat, 01 Feb 2020 09:23:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Alan Third Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 01 Feb 2020 14:23:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 32932 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: fixed Original-Received: via spool by 32932-submit@debbugs.gnu.org id=B32932.158056697627431 (code B ref 32932); Sat, 01 Feb 2020 14:23:02 +0000 Original-Received: (at 32932) by debbugs.gnu.org; 1 Feb 2020 14:22:56 +0000 Original-Received: from localhost ([127.0.0.1]:38483 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ixtfk-00078M-48 for submit@debbugs.gnu.org; Sat, 01 Feb 2020 09:22:56 -0500 Original-Received: from mail-wm1-f48.google.com ([209.85.128.48]:33529) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ixtfg-000787-Ab for 32932@debbugs.gnu.org; Sat, 01 Feb 2020 09:22:54 -0500 Original-Received: by mail-wm1-f48.google.com with SMTP id m10so10912906wmc.0 for <32932@debbugs.gnu.org>; Sat, 01 Feb 2020 06:22:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=kQWDHDgCTXz6k1Whs7XW1cLwKbYuYPBWCs+SO7IWXYg=; b=uIS8U+r64GiNODNRN5x0DrrJsqmK8vGt0MDKNICy87Qc0JyqoExv7/mKxKExWoDSbd fkAvfai/99rzFU2OlOJlDXMiqXA+p/9rRL4oJtXHC4V7WBfQ20T6AAbzGZS8qoaCWyev n/pjemsMWRvQ+nkaeLHFzZZyC41PxBOxmAivIPQI2pY8Ef0YAG6O/MZhvwyUy/gH9q19 vLUCa6aHyL5y1skfNAKCmK9oUc+YqKreEc6tojOOaLzLYK/XkyHi8FqgEUXnwkujyyRp JZnuVXEEDytiABivMlR3fg3+UAJVo2035Oft6bTMGhHuvMHnpfzfmXu3zH10odgERsRO wOAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition :content-transfer-encoding:in-reply-to; bh=kQWDHDgCTXz6k1Whs7XW1cLwKbYuYPBWCs+SO7IWXYg=; b=oqNr8av7ZhBUe9eCDaEeFdNgNt5Ass5oHU62rhbXXrHkmVUx3+k8HO6LXkWrDgPUs5 +/aKEUSm5ioxYUwEvseS7uR7VRc+gFVg487JwX14qjHol8YAmTIb4tsBCHlZh0al104N ydBMcE9Hdl/zGuaN5QiFBKak1/NYGPUBsCu9HAAg+Bx/VC8sXafH+Jo+g8rkzYBYYnkf o3x+fUNdz1VDqnOL4LLJmagVqRl1KMhC7a3Re0MQcElpRcyLj3SIDxv1IEiXC9rLkCpR J4lKOz76YxkkaTFofrZO6uLJsieGP2Xw5qtPXSc7n62D2WL+qltAyzRwTxz225fKQ5LB OHhQ== X-Gm-Message-State: APjAAAWRowB/qrjCvhrca+PaWKM/Ijv7gYgm7gcR0GbIW8yD4naHVaKs yN1ny2n5GaACjYjjodZtR9E= X-Google-Smtp-Source: APXvYqz903v3suoc+vlWGIdtx9KKEq/q7X5LPp5Vyw9ucdBhaW7VfsQe63vellHR86qAjmqrwoHHCw== X-Received: by 2002:a05:600c:2215:: with SMTP id z21mr18417704wml.55.1580566966443; Sat, 01 Feb 2020 06:22:46 -0800 (PST) Original-Received: from breton.holly.idiocy.org (ip6-2001-08b0-03f8-8129-a08b-b269-65be-dd6a.holly.idiocy.org. [2001:8b0:3f8:8129:a08b:b269:65be:dd6a]) by smtp.gmail.com with ESMTPSA id r6sm13722670wrp.95.2020.02.01.06.22.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Feb 2020 06:22:45 -0800 (PST) Content-Disposition: inline In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:175562 Archived-At: On Fri, Jan 31, 2020 at 05:26:21PM -0800, Aaron Jensen wrote: > On Fri, Jan 31, 2020 at 12:26 PM Aaron Jensen wrote: > > > > On Fri, Jan 31, 2020 at 12:23 PM Alan Third wrote: > > > > > > I’m thinking of time spent in functions during, perhaps the scroll > > > benchark, or just general use. I know it can be done through xcode and > > > I think gperftools perhaps works on macOS. > > > > > > Alternatively I may be able to do it. Is it just a matter of grabbing > > > the spacemacs config and using it, or do I need to do anything > > > further? > > > > I don't actually use spacemacs anymore, I have my own config, but I > > believe the slowness is reproducible in `emacs -Q` on my 4k monitor. I > > don't have that machine here, but I can verify it when I get home. If > > it is specific to my config, I can share it with you. > > Hi Alan, > > I just confirmed that it happens with emacs -Q. It's directly > proportional to the size of the window. The default window size is > pretty fast, but even a nearly blank buffer that's full screen lags > when the point moves. Thanks. I finally got my xcode install working again and tried just profiling various actions and I think I know what’s going on. NSBitmapImageRep is mutable, however it’s built on a CGImage or something that isn’t, so every time you want to edit an NSBitmapImageRep it has to copy the entire thing. This is why this little bit of code to grab the bitmap’s graphics context [NSGraphicsContext graphicsContextWithBitmapImageRep:drawingBuffer] is so damn slow and it gets slower as the screensize increases. I’m now stumped because I can’t actually find any image type in the documentation that isn’t immutable. I’m sure there must be something. The Mac port appears to be using IOSurfaces, but as far as I can tell they can be changed underneath you so aren’t much use for just updating little bits of the Emacs frame at a time. I must be misunderstanding something. -- Alan Third