Yosemite: Barrierefreier Zoom + mehrere Monitore = schlechte Leistung

Seit dem Upgrade auf Yosemite ist die Barrierefreiheits-Zoomfunktion unbrauchbar, wenn sie an einen externen Monitor angeschlossen ist.

Schritte zum Reproduzieren:

  • Aktivieren Sie Zoom in den Systemeinstellungen – Barrierefreiheit.
  • Schließen Sie einen externen Monitor an, der keine Spiegelung verwendet (zweiter Desktop).
  • Vergrößern Sie mit STRG+(Zwei-Finger-Geste) - oder OPT-CMD-=

Erwartet:

  • Der Zoom ist butterweich, alles wird mit 60 fps gerendert, ohne jegliche Verzögerung

Tatsächlich:

  • Die gesamte Anzeige auf beiden Bildschirmen wird verzögert, einschließlich Videowiedergabe, Mausbewegung und Tastenanschläge/Texteingabe. Das System wird beim Heranzoomen unbrauchbar langsam (8-12 fps, während es immer noch versucht, verpasste Frames "aufzuholen"). Es dauert lange, sich von einem Zoom zu "erholen", indem man wieder herauszoomt.

Hardware:

  • MacBook Pro (Retina, 15 Zoll, Anfang 2013)
  • Laut anderen Quellen scheint dies alle Mac-Hardware zu betreffen, auf der Yosemite läuft

Dies wurde mehrfach in den Apple-Diskussionsforen gemeldet: eins, zwei , drei , vier

Ich habe keine akzeptable Lösung gefunden.

Beachten Sie, dass die Zoomleistung "perfekt" (sprich: akzeptabel) ist, sobald der externe Monitor getrennt wird. Es ist auch "perfekt", wenn Spiegelung verwendet wird.

Bearbeiten: Link zu http://testufo.com entfernt, da es unter normalen Umständen zu zerbrechlich ist, um eine nützliche Reproduktion zu sein.

Bearbeiten 2, 18. November 2014: Nach dem Upgrade auf Yosemite 10.10.1 ist die Leistung leicht verbessert, entspricht aber immer noch nicht den früheren Standards. Gehen Sie zum Beispiel zu https://kraken.io/ und bewegen Sie Ihre Maus über den Bild-Slider. Versuchen Sie dann, dasselbe mit vergrößertem Bild zu machen – es ist unerträglich langsam. Es fühlt sich an, als ob der Zoom (auf mehreren Bildschirmen) aktiviert ist und auf Software-Rendering oder etwas ähnlich Langsames herunterfällt. Der gleiche Test mit nur einem Bildschirm ist perfekt.

Bearbeiten 3: Andere vorgeschlagene Problemumgehungen hatten schlechte Ergebnisse:

  • Starten Sie neu (oder beenden Sie den WindowServerProzess, wodurch Sie abgemeldet werden). Die ersten Minuten der Nutzung sind vergleichsweise flüssig, aber immer noch nicht 100%ig.

Bearbeiten 4: Aktivieren von Kontrast erhöhen scheint bisher die beste Problemumgehung zu sein. Siehe meine 2. Antwort .

Bearbeiten 5: Dies ist jetzt in 10.10.2 vollständig behoben.

Antworten (9)

Dies ist jetzt in OS X 10.10.2 behoben

Ja, ich habe "Scrolling with Inertia" heute Morgen wieder eingeschaltet, und der Zoom verhält sich wieder so, wie er soll, über beide Displays.
Ich kann bestätigen, dass es in 10.10.2 behoben ist. Vielen Dank!

Nach dem Upgrade auf Yosemite habe ich auch in einer Reihe verschiedener Situationen extrem langsame Reaktionen erhalten, z. B. lange Pausen, in denen Spotlight Dateiübereinstimmungen zurückgibt, langsames Starten von Anwendungen, insbesondere nach dem Aufwachen aus dem Display-Ruhezustand, sowie andere Vorgänge. (Es fühlt sich an, als würde man im Treibsand laufen und feststellen, dass man sich nicht so bewegen kann, wie man es könnte.) Außerdem habe ich Konsolenprotokolle gesehen, die mit wiederholten Meldungen über ungültige Verbindungen und Dumps von nicht übereinstimmenden Trackpad-Gesten gefüllt sind, manchmal mit fast der gleichen Meldungsfüllung eine vollständige Konsolenansicht mit 4000 Zeilen. Ich glaube, ich habe jetzt die Ursache gefunden, zumindest für meinen iMac, also stelle ich sie hier, um zu sehen, ob es die Ursache für ähnliche Probleme für andere mit Langsamkeit ist, nachdem sie zu langsamen Problemen von Yosemite gewechselt sind.

Ich habe meinen Benutzerordner Preferences(in ~/Library Preferences) durchsucht und zufällige Einstellungsdateien überflogen, um mich zu beschäftigen, während ich versuchte, eine andere Vorstellung davon zu bekommen, was als nächstes zu tun ist. (Der Versuch, zu arbeiten, war wirklich langweilig geworden). In com.apple.sidebarlists.plist, stolperte ich über einen Schlüssel mit einem Wert, der fortgesetzt wurde, nachdem ich ziemlich weit nach unten geblättert hatte und dann bemerkte, dass sich die Bildlaufleiste immer noch am Anfang der Datei befand. Ich habe die Dateigröße überprüft und sie betrug 11 MB (die meisten Einstellungsdateien waren viel kleiner als 100 KB, viele hatten eine Länge von weniger als 10 KB). Der Versuch, die Datei in Xcode anzusehen, war aufgrund der Trägheit fast unmöglich, also habe ich sie in eine Text-Eigenschaftsliste zum Bearbeiten abgelegt und mehrere Schlüssel mit riesigen Werten gefunden, alle mit dem Schlüsselnamen vonBookmark(6 Schlüsselwerte waren etwas mehr als 2,7 MB lang und 2 andere waren knapp 4,3 MB lang). Einige davon waren mit externen USB-Volumes verbunden, eines mit einem Volume, das nicht mehr existierte, und eines mit einem Volume, das eine Partition auf dem Systemlaufwerk war; Die meisten, wenn nicht alle, hatten auch einen Kurzschlüssel Alias, der für jeden in dieser Datei beschriebenen Datenträger existierte. Nach vielen verlorenen Stunden nach meinem verpfuschten Versuch, die Datei zu bearbeiten, um die problematischen Abschnitte zu entfernen (was ich nicht empfehle), wodurch mein Computer nicht mehr hochfahren kann, habe ich die Datei schließlich in den Papierkorb geworfen. Seitdem sind alle lästigen Verzögerungen weg (hoffentlich für immer).

Ich kann leicht sehen, wie es Spotlight verlangsamt haben könnte (das fühlte sich an, als würde man auf ein Laufwerk warten, um hochzufahren), da das Öffnen des Spotlight- FinderFensters wahrscheinlich das Lesen der "Sidebarlists"-Einstellungen erforderte, um zu bestimmen, wie das Fenster angezeigt werden soll, und es eine Weile dauern würde, es durchzulesen die sequentiellen Daten (ähnlich wie die Verlangsamung, wenn ich die Datei selbst lese oder bearbeite. Jetzt ist diese Einstellungsdatei magere 7 KB (etwa 1.570-mal kleiner als sie war) und sie fühlt sich großartig an ... so leicht und schnell, als würde sie unter Betriebssystem laufen X 10.9 (Mavericks).

Hier ist eine Zusammenfassung dessen, was zu beachten und möglicherweise zu tun ist:

  1. Öffnen /Users/(username)/Library/Preferences( ~/Library/Preferences) in einem Finder-Fenster; Wechseln Sie in die Listenansicht und sortieren Sie die Dateien nach Größe.
  2. Überprüfen Sie, ob com.apple.sidebarlists.plistoder möglicherweise eine der Einstellungsdateien viel größer ist als die meisten anderen.
  3. Wenn Sie übermäßig große Dateien finden, verschieben Sie sie aus dem Ordner und legen Sie sie irgendwo ab (z. B. in einem neuen Ordner, den Sie auf dem Desktop erstellen). Dies wird kein Problem verursachen, da es beim Neustart neu erstellt wird, obwohl Sie möglicherweise einige der SidebarEinstellungen mithilfe von zurücksetzen müssen Finder -> Preferences.
  4. Starten Sie Ihren Computer neu (oder starten Sie das Finder) neu und prüfen Sie, ob sich die Geschwindigkeitsprobleme verbessert haben. Wenn ja, beobachten Sie, ob die Dinge besser bleiben (wie könnten Sie nicht?)
  5. Ob es funktioniert oder nicht, es wäre gut für mich und andere zu wissen, damit wir den Betroffenen auf diese Weise helfen können, dieses Problem zu beenden oder festzustellen, dass dies nicht die Ursache ist, und nach Möglichkeit weiterhin festzustellen, was falsch ist.

Ich hoffe, es hilft, da es mir (bisher) geholfen hat, denn das Schreiben dieses Beitrags wäre unerträglich gewesen, wenn es immer noch dieselbe Langsamkeit gegeben hätte!

Es gibt eine Problemumgehung, die in den Apple-Foren gepostet wurde .

Vorteile:

  • Die Leistung der Maus-/Tasteneingabe "fühlt" sich deutlich besser an, ebenso wie der Momentum-Zoom.
  • Zoom ist pro Bildschirm und nicht beide gleichzeitig

Nachteile:

  • Es ist immer noch nicht annähernd so performant wie in Mavericks . Die Website testufo.com wird beim Zoomen immer noch nicht mit 60 fps gerendert.
  • Während diese Problemumgehung die Leistung mehrerer Bildschirme in Yosemite etwas verbessert, verschlechtert sie die Leistung eines einzelnen Bildschirms erheblich! Die Einzelbildschirmleistung ist bereits „perfekt“, wenn der standardmäßige „Vollbild“-Zoom verwendet wird, und dies ist ein Rückschritt.

Anweisungen:

  • Stellen Sie in den Systemeinstellungen – Eingabehilfen den Zoom-Stil auf Bild-in-Bild ein .

Systemeinstellungen – Barrierefreiheit

  • Klicken Sie auf Weitere Optionen...

Systemeinstellungen - Barrierefreiheit - Weitere Optionen...

  • Klicken Sie auf Größe und Position anpassen
  • Sie sehen ein rechteckiges vergrößertes Feld mit einer „OK“-Schaltfläche in der Mitte. Ziehen Sie die Ecken in die obere linke und untere rechte Ecke des Bildschirms. Klicken Sie auf OK .

Wenn Sie jetzt zoomen, ist es brauchbar, aber immer noch merklich langsam.

Bester Workaround bisher:

Wählen Sie in Systemeinstellungen-Zugänglichkeit die Option Kontrast erhöhen (wodurch implizit Transparenz reduzieren ausgewählt wird). Dies scheint die Leistung unter bestimmten Umständen zu verbessern, wirkt sich jedoch dramatisch auf die Ästhetik aus. Der Slider auf http://kraken.io ist flüssig, wenn er hineingezoomt ist. Es gibt immer noch Situationen, in denen das Zoomen etwas träge ist, aber es ist nicht annähernd so schlimm wie zuvor.

Bearbeiten: Nach mehreren Stunden Betrieb mit aktiviertem Kontrast erhöhen (und einem Upgrade auf Yosemite 10.10.1) kann ich sagen, dass die Leistung jetzt wieder auf einem akzeptablen Niveau liegt.

Ich bin immer noch nicht begeistert davon, eine Barrierefreiheitsfunktion aktivieren zu müssen, die ich nicht möchte oder brauche, um die Leistung zu verbessern. Ich mag das Erscheinungsbild von „Kontrast erhöhen“ wirklich nicht : solide schwarze Umrisse um Texteingaben und Schaltflächen, der Zebrastreifeneffekt auf Listen usw. ist alles ein bisschen irritierend, was auf die Subtilität von OS X zurückzuführen ist.

Ich habe versucht, nur Transparenz reduzieren zu aktivieren (was implizit ausgewählt wird, wenn Sie Kontrast erhöhen aktivieren ), aber diese Einstellung allein hilft nicht: Beide müssen aktiviert werden, um einen Leistungsgewinn zu sehen.

Screenshot: Normales Erscheinungsbild Normales Aussehen

Screenshot: Erscheinungsbild mit aktivierter Option „Kontrast erhöhen“. Darstellung mit aktiviertem „Kontrast erhöhen“.

Ich bin immer noch daran interessiert, eine echte Lösung zu finden, also lasse ich das Kopfgeld vorerst offen.

FWIW, meine Erfahrung ist in allen von Ihnen beschriebenen Szenarien identisch (das Original und beide Problemumgehungen). Ich verwende 10.10.1 auf einem 2014 Mini CoreI7 mit 16 GB RAM und einer SSD mit zwei externen 24-Zoll-Displays. Ich sehe eine sehr leichte Verzögerung auf der Website kraken.io, aber nichts Schlimmes.

Einige Ideen für weitere Schritte zur Fehlerbehebung – Jeder dieser Schritte zielt darauf ab, die zum Rendern der Bildschirme erforderlichen Ressourcen zu reduzieren.

  1. Versuchen Sie es mit Tausenden von Farben in Displays.
  2. Versuchen Sie, die Bildschirmauflösungen für jedes Ihrer Displays zu reduzieren
  3. Versuchen Sie, die Anordnung Ihrer Bildschirme so zu ändern, dass sie vertikal gestapelt sind. – (Ich vermute, dass Sie durch die Reduzierung der größten Dimension des Offscreen-Puffers der kombinierten Bildschirme eine Verringerung des zum Rendern erforderlichen Speichers feststellen werden; ich bin jedoch mit modernen GPUs nicht vertraut genug, um zu wissen, wie sie die Speichernutzung optimieren und Dies kann wenig oder gar keine Auswirkungen haben. Die Gründe, die dies in der Vergangenheit geholfen hätte, gelten heute möglicherweise nicht mehr.)

Selbst wenn diese helfen, werden sie wahrscheinlich keine praktische Lösung für Sie sein. Ich biete sie hauptsächlich an, um zu versuchen, das zugrunde liegende Problem zu diagnostizieren. Ich wünschte, ich könnte mehr bieten.

Ich habe deinen Beitrag bemerkt. Ich habe meine Hauptproduktionsfestplatte etwas früher auf Yosemite aufgerüstet. Am Ende habe ich Mavericks von einem externen Laufwerk aus ausgeführt und auf Yosemite nur für Dateien zugegriffen, da sich die Festplatte immer noch in meinem MacPro befindet. Jetzt werde ich wieder nach Yosemite hochgefahren, da es Updates erhält und sich etwas besser verhält (langsam). Einige Dinge funktionieren also besser, aber ich versuche immer noch, Dinge zu debuggen, und ich glaube, ich habe gerade herausgefunden, wie ich meine CPU viel aus dem Windowsserver-Thread zurückbekomme. Gehen Sie einfach zu Barrierefreiheit und schalten Sie alle Zoomfunktionen aus. Ich denke, dass in meinem Fall, wenn ich mit eingeschaltetem Strg + Scrollrad gezoomt habe, alles in einer gezoomten Ebene sowie in der aktuellen Ebene gerendert wurde, also wäre es bereit, wenn ich auf Strg klicken und hineinzoomen würde etwas. als ich das ausschaltete, der computer' s CPU sprang sofort wieder auf ein akzeptables Niveau. Es ist verrückt, dass Mavericks besser von einer USB 2.0-Festplatte laufen als direkt in das Logicboard. Nachdem ich dieses Zoom-Zeug ausgeschaltet hatte, klickte ich auf Kontrast erhöhen, und es machte keinen großen Unterschied zu der Verstärkung, die ich bereits hatte. Es lässt das Betriebssystem wie Mist aussehen, also habe ich es wieder ausgeschaltet, um meine Unschärfe wieder in die Benutzeroberfläche zu bringen. hoffe das hilft. Entschuldigung für meine Großschreibung, ich habe einfach keine Lust darauf. :) Ich habe einfach keine Lust darauf. :) Ich habe einfach keine Lust darauf. :)

Zwei Monitore, Transparenz aus. Seit dem Update auf Yosemite habe ich Probleme mit dem furchtbar verzögerten Zoomen mit der magischen Steuerungsmaus. Manchmal dauert es bis zu 5 Sekunden, bis ein einfacher Bildschirmzoom abgeschlossen ist. Der Versuch, zu dezoomen, während der Mac ausgeschaltet ist, trägt manchmal nur zum Problem bei.

Der Zoom auf Monitorebene verhält sich viel besser, wenn ich das Scrollen im Dialogfeld "Mausoptionen" des Bereichs "Maus & Trackpad" der Systemeinstellungen "Eingabehilfen " auf " ohne Trägheit " setze. Zoom ist jetzt bissig und stoppt, wenn ich aufhöre, meinen Finger auf der Maus zu bewegen. Dafür kann ich auf das gelegentlich nützliche Feature "Mausträgheit" verzichten. -Vielleicht schafft Apple es, das Trägheitsproblem zu beheben, aber bis dahin scheint dies die beste Lösung zu sein.

Hast du es mal mit "Kontrast erhöhen" versucht? Das scheint mit externen Monitoren + Trägheits-Scrolling gut zu funktionieren, ist aber hässlicher. Ich werde das Trägheitsding ausprobieren, wenn ich einen Monitor in der Nähe habe.
Anscheinend kann ich auf diesen Dialog nicht nur mit einem Trackpad zugreifen.

Auf meinem Catalina (10.15.7) bleibt das Problem bestehen; WindowServer verwendet zwischen 12 % und 27 %. Ich habe einen 4K-Monitor (BenQ PD3220U) angeschlossen, und anscheinend hat macOS damit ein Problem:

In einem verwandten Beitrag habe ich das beim Überprüfen von Protokollen mit dem Befehl gesehen:

log stream --predicate '(process == "WindowServer")' --debug

Ich bekomme:

2020-11-16 20:34:43.764462+0100 0x525      Debug       0x0                  378    0 
WindowServer: (CoreDisplay) [com.apple.CoreDisplay:default] [DEBUG] - On display
0x04280880, surface is not detached, CoreDisplay is detached (0x00000000), 
DetachCode = 0

Diese werden mit einer Rate von 10-30 Zeilen pro Sekunde protokolliert, abhängig von der auf dem externen Monitor eingestellten Skalierung.

Die (traurige) Lösung, die für mich funktionierte, war, den internen MBP-Monitor aufzugeben; Durch Schließen des Deckels gibt es kein hektisches Logging mehr, die Lüfter stoppen und WindowServer beruhigt sich. Süße Stille, aber nicht glücklich darüber, einen Bildschirm zu verlieren.

Ich bin mir sicher, dass dies nicht für alle funktionieren wird, aber für mich war alles, was ich getan habe, die Anzeigeeinstellungen aufzurufen und sie so zu ändern, dass sie meine Anzeigen spiegeln, und dann wieder auf separate Anzeigen umzustellen. Die CPU von WindowServer fiel sofort von etwa 80 % auf 10 %.