Opened 2 years ago

Last modified 5 weeks ago

#59481 assigned defect

Extremely low performance in GIMP (gimp2 @2.10.12_2 +quartz, macOS 10.14.6)

Reported by: i0ntempest Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: Cc:
Port: gimp2

Description

GIMP built with +quartz variant is extremely slow when using brushes and opening a second file (when one file is already open). All the dependencies are also built with +quartz if available. This does not happen in the version downloadable on their official website.
I've opened an issue in the GIMP repo (https://gitlab.gnome.org/GNOME/gimp/issues/4130) but the maintainer told me that this might be related to how GIMP and its dependencies are built, and suggested me to ask here.
Please tell me if I need to provide more info. Thanks!

Change History (12)

comment:1 Changed 2 years ago by mf2k (Frank Schima)

Cc: dbevans removed
Owner: set to dbevans
Port: gimp, gimp2gimp gimp2
Status: newassigned

comment:2 Changed 2 years ago by i0ntempest

Port: gimp removed

GIMP devs have confirmed this is a problem within the binary when linking against 10.14 or newer SDKs, and have suggested a temporary solution:

# Temporary fix for linking against macOS SDK >10.13
configure.ldflags-append \
                    -Wl,-sdk_version,10.9

I've tested this on both 10.14 and 10.15. Should I make a PR?

comment:3 Changed 2 years ago by i0ntempest

Resolution: fixed
Status: assignedclosed

In 7a3fea089dea9014171292a6ec4911902ccea651/macports-ports (master):

gimp2: fix stuttering when linking SDK > 10.13

Since the maintainer didn't respond on trac I'll just open a PR anyway.

Closes: #59481

gimp2: force sdk_version only on 10.10 or newer

gimp2: Change forced SDK version to the latest good one

gimp2: add platform darwin in check before the fix

comment:4 Changed 10 months ago by Tatsh (Andrew Udvare)

I am experiencing this issue on Big Sur. Can we re-open this?

comment:5 Changed 10 months ago by mascguy (Christopher Nielsen)

For the near-term, your best bet is to install the official binaries from gimp.org. (They finally started providing them for macOS again, at the end of 2020.)

And the latest few have Big Sur fixes. Try this one to start with:

https://download.gimp.org/mirror/pub/gimp/v2.10/osx/gimp-2.10.22-x86_64-3.dmg

There's still a known issue with the marching ants around selections, but it's apparently much-improved overall. Give it a try, and let us know if it's better.

Last edited 10 months ago by mascguy (Christopher Nielsen) (previous) (diff)

comment:6 Changed 10 months ago by mascguy (Christopher Nielsen)

Cc: mascguy added

comment:7 Changed 4 months ago by mascguy (Christopher Nielsen)

PR created for update to 2.10.24, which includes upstream's fixes for this issue:

PR 11772 - gimp2: update to 2.10.24

comment:8 Changed 2 months ago by i0ntempest

In e45d4a0803937e58c8592635b7dfe24f4ac01e5b/macports-ports (master):

gimp2: update to 2.10.24 & various fixes

closes: #61799
closes: #63029
closes: #63028
closes: #59481

comment:9 Changed 5 weeks ago by i0ntempest

Ok so macOS 12 is out and the problem is back... great. Should we reopen?

comment:10 Changed 5 weeks ago by mascguy (Christopher Nielsen)

Resolution: fixed
Status: closedreopened

comment:11 Changed 5 weeks ago by mascguy (Christopher Nielsen)

Cc: mascguy removed
Owner: changed from dbevans to mascguy
Status: reopenedassigned
Version: 2.6.22.7.1

Yes, let's reopen; this issue still exists for me on 10.14 and 10.15 as well, despite upstream's patches.

Sadly, I still can't create a working Big Sur VM, on my aging 2008-era MacPro. So I'll have to lean on yourself and others, to validate things in Big Sur. (And Monterey too, for that matter.)

As for the issue: Given that we're using the correct upstream patches, my suspicion is that the macOS version being reported within GTK2 doesn't match with reality. Particularly given that the various fixes are only enabled, at runtime, via that version check.

Still need to dig into this a bit more, with temporary debug output within GTK2, to diagnose further.

comment:12 Changed 5 weeks ago by mascguy (Christopher Nielsen)

One possible approach: Split the patches into smaller, more granular chunks, that can be applied individually by the portfile [depending on the macOS version we're building on]. And then remove the runtime version checks, which won't be necessary if the portfile properly decides what's necessary.

Note: See TracTickets for help on using tickets.