Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?

Ruckelnde Darstellung in macOS Tahoe? Electron-Apps sind Schuld

Ein seltsames Verhalten plagt Mac-Nutzer seit der Einführung von macOS 26 (Tahoe) am 15. September. Die Bedienschnittstelle reagiert extrem verlangsamt, Fenster ruckeln, wenn man sie über den Bildschirm zieht, Scrollen in Fenstern gelingt nur verlangsamt. Ein Blick in die Aktivitätenanzeige oder alternative Auslastungsmonitore offenbarte allerdings keine gestiegene Last auf CPU- oder GPU-Kernen. Allerdings stellte sich bald ein direkter Zusammenhang mit einer speziellen Sorte Programme heraus: Die gebremste Darstellung tauchte nur auf, wenn Electron-Apps aktiv waren.


Electron ist ein beliebtes Framework, um Programme betriebssystemübergreifend bereitzustellen. Die Grundlage stellt eine Browser-Engine, welche in das jeweilige Programm integriert wird. Viele Web-Dienste greifen darauf zu, insbesondere Gruppen-Chats wie Discord und Slack ebenso wie Code-Editoren, beispielsweise VS Code oder Cursor. Das Resultat ist ein größenunabhängiges, flexibles Fensterlayout, welches auf macOS, Linux und Windows gleichermaßen aussieht und funktioniert. Electron kümmert sich um systemspezifische Anpassungen und Performance – so die Idee. Offenbar ging beim Update auf macOS 26 etwas zu Bruch, wie GitHub-Nutzer avarayr feststellte:
Stellt sich heraus, dass Electron eine private AppKit-API (_cornerMask) überschreibt, um eigene Eckmasken zur Anwendung zu bringen.

Reparatur ist auf dem Weg
Die Verwendung privater Application-Programmer-Interfaces (APIs) innerhalb von Frameworks ist zwar möglich, wird offiziell nicht von Systemanbietern unterstützt – Hersteller ändern gelegentlich deren Funktion, ohne diese Änderungen zu dokumentieren. In diese Falle scheint nun das Electron-Projekt getappt zu sein. Nach einer aufgeregten Diskussion gab es inzwischen Updates für mehrere Versionen des Electron-Frameworks.

Electron-Versionen mit korrektem Verhalten in macOS 26 (Tahoe)
Version repariert ab
39 39.0.0-alpha.7
38 38.2.0
37 37.6.0
36 36.9.2

Zeitweilige Abhilfe: minimieren
Damit die jeweiligen Apps unter macOS Tahoe nicht mehr auf die Bremse treten, müssen sie einzeln aktualisiert werden – das Framework wird nicht systemweit bereitgestellt, sondern ist stets Teil des App-Pakets. Wann Entwickler eine neue Version bereitstellen, ist unklar; die aktualisierten Versionen wurden vor fünf Tagen bereitgestellt. Erschwerend kommt hinzu, dass man als Anwender kaum erfährt, welche Electron-Version in einer App integriert ist. Um wenigstens zeitweise von dem nervigen Ruckeln verschont zu werden, können Anwender die Apps einfach minimieren: Solange Electron-Programmfenster als Miniatur im Dock verweilen, verlangsamen sie nicht mehr die Fensterdarstellung.

Selbst wenn man das Electron-Framework innerhalb einer App aufspürt, verrät es einem nicht die verwendete Version.

Kommentare

xcomma02.10.25 08:47
ist ein beliebtes Framework
Aber auch nur bei den Firmen, die sich (verständlicherweise) damit den Aufwand zu ersparen versuchen ansonsten jeweils Plattform-native Clients zu entwickeln.

Aus Anwendersicht ist Electron gefühlt so beliebt wie die allgemein vorherrschende Grundmeinung zu SAP Software, nämlich: (man denke sich die $ Zeichen weg, da es kein gesondertes Kotz-Emoji hier gibt)

Benutzer sind, wenn sie bestimmte Software nutzen wollen/müssen, letztendlich dazu genötigt Electron-basierte Software einzusetzen, wenn es gar nicht anders geht und/oder man sich nicht nach Alternativen umschaut.
VS Code gibt's nun mal nur als Electron, zählt aber allgemein bekannt immerhin zu den performantesten Electron-Apps. Cursor basiert darauf, von daher ist die Abhängigkeit zu Electron implizit natürlich gegeben.

Gibt es nicht eh schon eine Menge anderer Gründe 1Password zu verlassen, dann wäre spätestens seit der Umstellung auf Electron ein weiterer Grund gefunden
+9
sudoRinger
sudoRinger02.10.25 08:55
MTN
Erschwerend kommt hinzu, dass man als Anwender kaum erfährt, welche Electron-Version in einer App integriert ist.
Im Blog von Michael Tsai ist ein Anwender mit zwei Skripts
Das erste Skript "detect-electron-apps-with-macos-lag.sh" liefert die Electron Version, z.B. hier 5 bekannte Electron-Apps, die ich installiert habe. Das ❌ bedeutet, dass die Electron-Version noch nicht aktuell ist.

❌ Claude.app: Electron 37.5.1
❌ VSCodium.app: Electron 37.3.1
❌ Obsidian.app: Electron 37.3.1
❌ LM Studio.app: Electron 37.2.0
❌ Bitwarden.app: Electron 36.8.1

Das zweite Skript "detect-electron-apps-using-cornermask.sh" testet, ob "corner mask" in einer App genutzt wird, denn nur dann sind die ❌-Electron-Versionen ein Problem.
Die oben genannten Apps sind bei mir alle sauber. Ich habe zwar noch kein Tahoe installiert, aber zumindest hätte ich kein Problem mit diesen Electron-Apps.
+8
sudoRinger
sudoRinger02.10.25 09:16
Das ging schnell. Heute morgen gab es ein Update von Obsidian.
✅ Obsidian.app: Electron 37.6.0
+2
MetallSnake
MetallSnake02.10.25 09:36
sudoRinger
Das ging schnell.

Naja, die aktualisierten Electron Versionen wurden letzten Samstag (am 27.9.) veröffentlicht. Nur die Meldung auf MTN ist etwas spät.
The frontier of technology has been conquered, occupied and paved over with a parking lot.
0
t.stark02.10.25 09:42
da es kein gesondertes Kotz-Emoji hier gibt
Du kannst einfach Emojis auf Deiner iPhone-Tastatur unter iOS bzw über "Emoji und Symbole einblenden" unter macOS einfügen:
🤮🤢💩
🦄
🦈🌈🙀🤮
+5
Nebula
Nebula02.10.25 09:42
Bei mir ist keine App betroffen, aber nur eine hat bislang die aktuelle Electron-Version. Erschreckend, wie viele Electron-Apps ich noch auf der Kiste liegen habe. Muss mal wieder aufräumen. 😁

✅ Rocket.Chat.app: Electron 37.6.0 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ Signal.app: Electron 38.1.2 (Contents/Frameworks/Electron Framework.framework/Electron Framework)
❌ Claude.app: Electron 37.5.1 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ TIDAL.app: Electron 31.2.1 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ Mockuuups Studio.app: Electron 13.2.1 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ Renamer.app: Electron 30.5.1 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ Miro.app: Electron 36.1.0 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ draw.io.app: Electron 37.4.0 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ Discord.app: Electron 35.3.0 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ Nota.app: Electron 27.3.11 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ TimeScribe.app: Electron 32.3.3 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ Pocket Casts.app: Electron 36.0.1 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ Colour Contrast Analyser.app: Electron 35.7.5 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ FreeTube.app: Electron 34.0.1 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ AdGuard for Safari.app: Electron 18.3.15 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ LM Studio.app: Electron 37.2.0 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ App Eraser.app: Electron 22.2.0 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ MarkText.app: Electron 15.4.0 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ Threema.app: Electron 37.4.0 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ Threema Beta.app: Electron 37.3.1 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ Obsidian.app: Electron 37.3.1 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ Bitwarden.app: Electron 36.8.1 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ Dropbox.app: Electron 19.1.9-dropbox.20240827.b5a386072b.c820295eed39.0 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ balenaEtcher.app: Electron 37.2.4 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ Zettlr.app: Electron 37.2.0 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)

Edit: Okay, man sollte vorher noch Updates aufspielen 🤦

✅ Obsidian.app: Electron 37.6.0 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
»Wir waren schon immer schamlos darin, großartige Ideen zu stehlen.« – Steve Jobs
+2
sudoRinger
sudoRinger02.10.25 09:53
MetallSnake
Naja, die aktualisierten Electron Versionen wurden letzten Samstag (am 27.9.) veröffentlicht. Nur die Meldung auf MTN ist etwas spät.
Stimmt, der typische Nachrichtenfluss: ToxicLand meldet vor 3 Wochen ein Problem, avarayr findet vor einer Woche die Ursache, Electron fixt das Problem (Samstag), der ebenfalls bekannte Entwickler Michael Tsai schreibt einen Artikel (Dienstag), MTN berichtet (Donnerstag)

Aber bis das Update bei allen Electron Apps ankommt, wird das dauern. Bei Nebula ist Dropbox noch bei 19.1.9 ...
-3
Nebula
Nebula02.10.25 09:58
Was ist denn daran so schlimm? Die Mitarbeiter bei MTN haben ja eine gesetzlich vorgeschriebene begrenzte Arbeitszeit und schaffen eben so viel, wie in der Zeit zu schaffen ist. So drängend war das Problem jetzt auch nicht. Bei mir ist und war keine App betroffen (siehe Liste oben).
»Wir waren schon immer schamlos darin, großartige Ideen zu stehlen.« – Steve Jobs
+3
sudoRinger
sudoRinger02.10.25 10:03
Nebula
Was ist denn daran so schlimm?
Wer schreibt, dass da was schlimm sei?
Nebula
Bei mir ist und war keine App betroffen (siehe Liste oben).
Aufgrund der Meldung könnte man zuerst glauben, dass die meisten Electron-Apps betroffen seien und damit auch die meisten Tahoe-Nutzer. Ist aber zum Glück nicht der Fall.
0
Moranai
Moranai02.10.25 10:05
Diese Electron-Seuche ist eine Pest.
+6
xcomma02.10.25 10:21
t.stark
Danke für den Hinweis!
War mir gar nicht bewusst. Dachte es wäre nur ein Subset zugelassen
0
MetallSnake
MetallSnake02.10.25 10:26
Nebula
So drängend war das Problem jetzt auch nicht. Bei mir ist und war keine App betroffen (siehe Liste oben).

Zeigt deine Liste nicht etliche Programme die betroffen sind?
The frontier of technology has been conquered, occupied and paved over with a parking lot.
0
Wellenbrett02.10.25 10:58
Electron: 🤢🤢🤢🤮
(sorry, aber bin heute "Morgen" noch nicht so gesprächig)
0
gfhfkgfhfk02.10.25 11:31
Moranai
Diese Electron-Seuche ist eine Pest.
Sie ist aber wegen bestimmer Randbedingungen unvermeidbar. Der größte Faktor dürfte die Arbeitsweise von UX Designer sein. Electron nutzt Web Techniken, so dass es je nach Anwendungen relativ einfach ist aus einer Electron App eine Web App zu machen.

Dann ist das Problem welches Framework man für Crossplattform Produkte nutzen kann. Qt, Gtk sind beide nicht ohne Probleme. Native Apps für macOS kosten erheblich Geld, weil man das GUI komplett neuschreiben muss. Dazu kommt, dass Apple in relativ kurzen Zyklen die Frameworks verändert, dass ist für viele spezielle Programme aus ökonomischen Gründen nicht gangbar.
+1
aMacUser
aMacUser02.10.25 12:20
gfhfkgfhfk
Moranai
Diese Electron-Seuche ist eine Pest.
Sie ist aber wegen bestimmer Randbedingungen unvermeidbar. Der größte Faktor dürfte die Arbeitsweise von UX Designer sein. Electron nutzt Web Techniken, so dass es je nach Anwendungen relativ einfach ist aus einer Electron App eine Web App zu machen.

Dann ist das Problem welches Framework man für Crossplattform Produkte nutzen kann. Qt, Gtk sind beide nicht ohne Probleme. Native Apps für macOS kosten erheblich Geld, weil man das GUI komplett neuschreiben muss. Dazu kommt, dass Apple in relativ kurzen Zyklen die Frameworks verändert, dass ist für viele spezielle Programme aus ökonomischen Gründen nicht gangbar.
Es gibt allerdings mit Tauri mittlerweile auch eine (vermutlich) performantere Alternative zu Electron.
0
gfhfkgfhfk02.10.25 12:48
aMacUser
Es gibt allerdings mit Tauri mittlerweile auch eine (vermutlich) performantere Alternative zu Electron.
Rust … noch Fragen?
-2
Marcel_75@work
Marcel_75@work02.10.25 12:57
Nebula: Hier auch ähnlich übel.

❌ 1Password.app: Electron 37.3.1 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ Signal.app: Electron 38.1.2 (Contents/Frameworks/Electron Framework.framework/Electron Framework)
❌ Threema.app: Electron 30.0.6 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ RyuSAK.app: Electron 18.3.7 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ Keybase.app: Electron 28.3.1 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ macintosh.js.app: Electron 23.1.3 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ Macsome Spotify Downloader.app: Electron 6.1.0 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ NoteBurner Spotify Music Converter.app: Electron 6.1.0 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ TunePat Spotify Converter.app: Electron 6.1.0 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ Wire.app: Electron 35.0.2 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ balenaEtcher.app: Electron 30.0.1 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ Asana.app: Electron 31.1.0 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ LosslessCut.app: Electron 31.3.1 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ Dropbox.app: Electron 19.1.9-dropbox.20240827.b5a386072b.c820295eed39.0 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ OpenMTP.app: Electron 18.3.15 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ Discord.app: Electron 35.3.0 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ FortiClient.app: Electron 11.1.1 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ OpenVPN Connect.app: Electron 28.2.10 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ Obsidian.app: Electron 34.3.0 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ awork.app: Electron 33.3.0 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ Element.app: Electron 37.3.0 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ Lightweight PDF 2.app: Electron 29.4.6 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ Mattermost.app: Electron 37.4.0 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)
❌ Slack.app: Electron 38.1.2 (Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework)

Den Vogel schießt die FortiClient.app (der VPN-Client für Forti-Firewalls) mit Version 11.1.1 ab!
+1
aMacUser
aMacUser02.10.25 13:23
gfhfkgfhfk
aMacUser
Es gibt allerdings mit Tauri mittlerweile auch eine (vermutlich) performantere Alternative zu Electron.
Rust … noch Fragen?
Ich nehme an, du hast mir Rust ein Problem? Das ist eine moderne und zukunftsfähige Programmiersprache.
+1
gfhfkgfhfk02.10.25 13:46
aMacUser
Ich nehme an, du hast mir Rust ein Problem?
Warum diese Pathologisierung?

Rust ist eine relativ neue Sprache, die einige interessante Konzepte mitbringt. Aber es gibt noch so viele Gründe Rust nicht zu nutzen, dass es müssig ist die hier alle aufzuzählen. Das fängt schon damit an, dass Windows und macOS keinen Rust Compiler mitlieferen.
-2
aMacUser
aMacUser02.10.25 14:25
gfhfkgfhfk
aMacUser
Ich nehme an, du hast mir Rust ein Problem?
Warum diese Pathologisierung?
Also jetzt lass bitte mal die Kirche im Dorf. Jemanden direkt als diskriminierend zu bezeichnen, weil er eine Aussage gedeutet hat, die zu 95% immer so genutzt wird, ist ziemlich unter der Gürtellinie.
gfhfkgfhfk
Rust ist eine relativ neue Sprache, die einige interessante Konzepte mitbringt. Aber es gibt noch so viele Gründe Rust nicht zu nutzen, dass es müssig ist die hier alle aufzuzählen. Das fängt schon damit an, dass Windows und macOS keinen Rust Compiler mitlieferen.
Ein nicht vom OS ausgelieferter Compiler ist definitiv kein Grund für irgendwas. Mir haben die nativ ausgelieferten dev-Tools von macOS in der Vergangenheit immer nur Probleme gemacht.
0
don.redhorse02.10.25 15:05
Woran erkennt man eine „Cross-Plattform“ App, sie verhält sich nicht wie eine native App. Discord ist ein sehr gutes Beispiel dafür wie nervig eine App sein kann, weil sie sich eben nicht nativ verhält.
Es war auch immer Steves Angst gewesen das auf dem iPhone nur Cross Plattform Apps erscheinen und eben keine, oder nur wenige native. Leider haben wir jede Menge an externen Frameworks in vielen vielen Apps in Verwendung. QT und GTK mögen von der Idee schon gut sein, aber schon öfter als einmal habe ich ein Programm wieder gelöscht, nachdem es sich als QT entpuppt hat. Ich weiß nicht mehr was es war, irgendeine CAT Software, die hatte den Closer rechts im Fenster statt gewohnt links. Danke, nein Danke. Viel Arbeit reingesteckt um eine „Mac“ Version zu bauen, aber eben ein Nogo. Ist zwar toll das man mit Electron etc. schnell Software portieren kann aber wenn sie sich nicht nativ verhält guckt man sich halt nach einer echten Anwendung für das eigene Problem um.
0

Kommentieren

Sie müssen sich einloggen, um die News kommentieren zu können.