Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>Mavericks: AppNap komplett (für alle Programme!) deaktivieren?

Mavericks: AppNap komplett (für alle Programme!) deaktivieren?

Maniacintosh
Maniacintosh25.11.1318:48
Gibt es eine Möglichkeit in Mavericks AppNap komplett zu deaktvieren? Ich stelle nämlich fest, dass ich AppNap irgendwie nach und nach bei immer mehr Apps selektiv deaktiviere und danach manches Problem verschwindet, welches ich zuvor hatte. Daher würde ich es gerne auf meinem iMac standardmässig für alle Prozesse deaktivieren, hier kommt es eben auch nicht so darauf an Energie zu sparen.

Wenn man Google anwirft findet man nur die Möglichkeit AppNap über den Info-Dialog für einzelne Programme zu deaktvieren...
0

Kommentare

Dirk!25.11.1319:27
Ja, AppNap nervt in vielen Fällen ziemlich. Mit Toast hat er mir schon 2 Rohlinge gekillt, aber wer brennt denn heute noch ... und nichtmal FinalCut von Apple kommt damit klar. Lässt man den Rechner über Nacht an, um Videos zu exportieren, muss man feststellen, dass er nichts gemacht hat, weil AppNap FinalCut schlafen gelegt hat.
Ja, man kann es einzeln dekativieren, aber nach den vielen "Störfällen" würde auch ich es lieber ganz abschalten auf einem Desktop Rechner.
0
dom_beta25.11.1319:42
Dirk!

das ist natürlich sehr schlecht ...
„...“
0
Gerhard Uhlhorn25.11.1319:42
AppNap grundsätzlich zu deaktivieren wäre weder Zielführend noch sonst wie sinnvoll.

Bei angepassten Apps wäre es sehr kontraproduktiv, weil gerade AppNap den Mac erheblich leistungsfähiger macht. Bei noch nicht angepassten Programmen hingegen kann AppNap gelegentlich zu Problemen führen, und nur dann sollte man es abschalten. Schaltet man es bei angepassten Programmen ab, führt es zu einer Verschlechterung des Systems.

Warum?
Die AppNap-API des Systems versucht zu erkennen, ob es wichtige Prozesse sind, die immer zeitnah ausgeführt werden müssen (z.B. Reaktion der aktiven GUI-Elemente), oder ob ein Prozess nachrangig ist (z.B. Mails abrufen).

Die Entwickler können über die API festlegen wie wichtig und unwichtig Prozesse sind, und unter welchen Bedingungen sie überhaupt ausgeführt werden sollen. Wenn das gemacht wird, führt es zu einem wesentlich performanteren System. Wurde diese Anpassung hingegen noch nicht vorgenommen, kann es sein, dass das System Prozesse falsch bewertet und zurückstuft. Und nur in diesem Falle ist es überhaupt sinnvoll AppNap abzuschalten. Schaltet man hingegen eine angepasste App ab, verschlechtert sich das System.

Die richtige Vorgehensweise wäre also alle Apps eingeschaltet zu lassen, und nur die Problem-Apps gezielt abzuschalten. Nach und nach werden aber auch diese von ihren Entwicklern angepasst und müssen dann nicht mehr abgeschaltet sein.
0
Maniacintosh
Maniacintosh25.11.1321:57
Naja schlechter als noch unter Mountain Lion – wo es noch kein AppNap gab – kann es nicht werden und insgesamt liefen die meisten Programme, die ich einsetze unter Mountain Lion noch besser.

Lobenswert ist, dass die AppNap-API versucht zu erkenne, ob ein Prozess wichtig ist. Leider kann sie es offensichtlich nicht! Wie kann es sonst vorkommen, dass ein Brennprogramm wie bei Dirk! beim Brennen schlafen geschickt wird? Vielleicht sollte OS X als Standard bei Apps, die AppNap nicht implementieren, AppNap deaktivieren und es nur bei Apps, die es implementieren, als Standardeinstellung aktivieren.

Abgesehen von Apps, die es nicht implementieren: Woher will der Entwickler wissen, wo die Prioritäten des Nutzers liegen? Diese können selbst beim gleichen Nutzer zu unterschiedlichen Zeitpunkt unterschiedlich sein. Warte ich auf eine wichtige Mail, ist das Abrufen der Mails vielleicht gar nicht nachrangig, während das Komprimieren der Urlaubsvideos gerade auch 5 Minuten oder sogar noch mehr länger dauern dürfen. Habe ich aber gerade Deadline und muss das zu kodierende Video fertig bekommen, sind die Mails und ggf. sogar das Antwortverhalten der GUI absolut nebensächlich.

Bisher macht AppNap bei mir zumindest mehr Probleme, als es Nutzen bringt. Daher würde ich es gerne komplett abschalten, auch wenn es in der Theorie gut klingt – nur dafür müsste es in der Praxis eben auch wirklich so funktionieren.
0
Marcel Bresink25.11.1322:30
Gibt es eine Möglichkeit in Mavericks AppNap komplett zu deaktvieren?

App Nap ist bereits automatisch für alle Programme deaktiviert.

Nur wenn alle folgenden Bedingungen zutreffen, wird App Nap überhaupt aktiv:
  • Das Programm ist ausdrücklich für OS X Mavericks entwickelt und der Entwickler hat App Nap für dieses Programm eingeschaltet.
  • Das Programm zeigt gerade kein sichtbares Fenster an und gibt auch keine Tonsignale aus.
  • Das Programm greift nicht von sich aus in die Energiesparfunktionen oder das Job-Management ein.
Bei angepassten Apps wäre es sehr kontraproduktiv, weil gerade AppNap den Mac erheblich leistungsfähiger macht.

Nein. App Nap hat so gut wie keinen Einfluss auf die Performance, sondern nur auf den Energieverbrauch.
Die AppNap-API des Systems versucht zu erkennen, ob es wichtige Prozesse sind, die immer zeitnah ausgeführt werden müssen

Nein, das ist technisch völlig unmöglich.
0
Maniacintosh
Maniacintosh25.11.1322:48
Marcel Bresink
Gibt es eine Möglichkeit in Mavericks AppNap komplett zu deaktvieren?

App Nap ist bereits automatisch für alle Programme deaktiviert.

Nur wenn alle folgenden Bedingungen zutreffen, wird App Nap überhaupt aktiv:
  • Das Programm ist ausdrücklich für OS X Mavericks entwickelt und der Entwickler hat App Nap für dieses Programm eingeschaltet.
  • Das Programm zeigt gerade kein sichtbares Fenster an und gibt auch keine Tonsignale aus.
  • Das Programm greift nicht von sich aus in die Energiesparfunktionen oder das Job-Management ein.

Interessant ist dann, dass das Häkchen bei "App Nap deaktivieren" dennoch eine Verbesserung brachte. Es geht hier auch um Programme die definitiv kein App Nap implementieren, da sie teilweise seit 10.6/10.7 (also lange vor App Nap) keine Updates bekommen haben – zumindest bei mir nicht.
0
zod198825.11.1323:02
Marcel Bresink
Das Programm ist ausdrücklich für OS X Mavericks entwickelt und der Entwickler hat App Nap für dieses Programm eingeschaltet.

Das ist doch Quark. Word nappt hier problemlos und während der Mavericks Beta haben auch andauern Programme "genappt".
0
Gerhard Uhlhorn26.11.1300:01
Maniacintosh
Woher will der Entwickler wissen, wo die Prioritäten des Nutzers liegen?
Das hat nichts mit den Prioritäten des Nutzers zu tun.

Beispiele:

  • Die App soll aus einem Audio-Sampler Daten abholen. Dieser Prozess ist sehr zeitkritisch und hat eine hohe Priorität.

  • Die App will im Hintergrund Daten mit der Cloud synchronisieren. Dieser Prozess hat dann eine geringe Priorität. Er kann problemlos um einige Millisekunden verschoben werden.

  • Der User klickt auf einen Button und es sollen daraufhin Daten im GUI ausgegeben werden. Hier braucht der Prozess eine hohe Priorität, damit das GUI ein schnelles Ansprechverhalten hat

  • Der User klickt auf Mail abrufen, der Prozess muss sofort ausgeführt werden.

  • Mail ruft im Hintergrund automatisch Mails ab, der Prozess kann auch um zwei Sekunden verzögert werden.

  • Ein Programm-Fenster wird komplett verdeckt oder gar ins Dock gestellt. Jetzt wird das Programm nur noch mit niedriger Priorität ausgeführt.

Im obigen Fall von Brennprogrammen wird das natürlich Probleme geben. Deswegen muss hier AppNap abgeschaltet werden. Der Entwickler kann das Brennprogramm aber anpassen und über die AppNap-API dem System mitteilen, dass die GUI-Aktualisierung im ausgeblendeten Zustand eine geringe Priorität hat, der Brennvorgang selbst aber eine hohe.
0
Gerhard Uhlhorn26.11.1300:33
Marcel Bresink
App Nap ist bereits automatisch für alle Programme deaktiviert.
Das ist nicht richtig.
Nur wenn alle folgenden Bedingungen zutreffen, wird App Nap überhaupt aktiv:
  • Das Programm ist ausdrücklich für OS X Mavericks entwickelt und der Entwickler hat App Nap für dieses Programm eingeschaltet.
  • Das Programm zeigt gerade kein sichtbares Fenster an und gibt auch keine Tonsignale aus.
  • Das Programm greift nicht von sich aus in die Energiesparfunktionen oder das Job-Management ein.
Das stimmt auch alles nicht.
Nein. App Nap hat so gut wie keinen Einfluss auf die Performance, sondern nur auf den Energieverbrauch.
Auch das stimmt nicht. AppNap dient nicht nur zur Reduzierung des Energieverbrauchs, sondern soll auch Vordergrund-Applikationen responsiver machen. Dadurch fühlt sich der Mac deutlich schneller an, auch wenn im Hintergrund wie Hölle gerechnet wird.
Die AppNap-API des Systems versucht zu erkennen, ob es wichtige Prozesse sind, die immer zeitnah ausgeführt werden müssen
Nein, das ist technisch völlig unmöglich.
Das ist sehr wohl möglich!

Beispiel:
Der User drückt auf einen Button. Der Prozess, der jetzt eine Ausgabe im GUI erzeugt ist wichtiger als ein Prozess, der im Hintergrund vor sich hindümpelt.

Das tägliche Wartungsscript soll ausgeführt werden, ist aber so unwichtig, dass es bei anderen wichtigen Prozessen auch um einige Minuten verschoben werden kann.

Daemon (Hintergrundprozesse) laufen meist mit einer geringen Priorität und können von AppNap auch verzögert werden. Wenn aber ein Benutzer eine Daemon-Aktion auslöst, oder der Daemon eine Ausgabe in ein Aktives GUI-Element macht, wird er vom System nicht oder nur gering verzögert.

Wenn ich von Priorität rede, meine ich nicht den nice-Wert von Unix, sondern die Möglichkeit Prozesse zu verzögern um das Antwortverhalten der graphischen Oberfläche (GUI) zu verbessern und um Energie zu sparen. Denn bei jedem Wechsel von aktiv zu idle, oder umgekehrt, verbraucht der Prozessor unnötig Strom.
Maniacintosh
Interessant ist dann, dass das Häkchen bei "App Nap deaktivieren" dennoch eine Verbesserung brachte.
Eben.
0
Gerhard Uhlhorn26.11.1300:43
Hier bei Mac-TV wurde es gut erklärt:
Es geht darum, die Lücken und die Aktivitäten (rot) in der Prozessorlast zusammenzufassen. Denn zwischen jedem Wechsel entsteht ein unnötiger Verbrauch (gebogene Linie). Es geht also darum, Prozesse um (meist) Millisekunden(!) zu verzögern.

GUI-Prozesse sind wichtig und dürfen nicht verzögert werden. Andere Prozesse hingegen, wie der Start eines Time-Machine-Backups im Hintergrund kann problemlos um sogar Minuten verzögert werden. Das ist gut für den Akku, und das ist gut die das Ansprechverhalten des GUI.

Bild habe ich aus dem Mac-TV-Video () geklaut.
0
Maniacintosh
Maniacintosh26.11.1303:14
Ist das, was die Grafik zeigt, nicht das Timer Coalescing?

App Nap soll ja dafür sorgen, dass Apps, die gerade nichts tun und im Hintergrund sind, gebremst werden – im Optimalfall ggf. sogar auf Null. Wahrscheinlich wird das bei Apps die regelmässig z.B. Mails im Hintergrund checken mit dem Timer Coalescing Hand in Hand arbeiten, aber grundsätzlich sind das zwei unterschiedliche Techniken. So verstehe ich zumindest die verlinkte Seite.
0
Gerhard Uhlhorn26.11.1304:00
Na ja, AppNap macht eben einiges, nicht nur Hintergrundprozesse beruhigen.
0
Skywalker
Skywalker26.11.1306:14
Marcel Bresink
App Nap ist bereits automatisch für alle Programme deaktiviert.

Nur wenn alle folgenden Bedingungen zutreffen, wird App Nap überhaupt aktiv:
[list]Das Programm ist ausdrücklich für OS X Mavericks entwickelt und der Entwickler hat App Nap für dieses Programm eingeschaltet.

Genau da kommen mir Zweifel.
Bei mir tummeln sich jede Menge Programme auf dem iMac, die ich weit vor Mavericks installiert habe, und trotzdem ist im Info Dialog App Nap aktiviert, also kein Häckchen gesetzt.
Apples iDVD ist z.B. so ein Fall.
0
void
void26.11.1308:39
Gerhard Uhlhorn
Skywalker

Ich muss euch leider widersprechen und Marcel Bresink in allen Punkten recht geben.
Wie schon der Begriff API sagt, werden von OS X lediglich Schnittstellen bereitgestellt. Diese müssen vom Entwickler aktiv genutzt werden und die Software muss neu gebaut werden, ansonsten passiert GAR NIX.
Mavericks hat viele neue Technologien, die auch bestehende Anwendungen beeinflussen (wie z.B. das von dir fälschlicherweise mit App Nap verwechselte Timer Coalescing), aber neu eingeführte APIs können niemals automatisch oder sogar automagically ("[...] versucht zu erkennen, ob es wichtige Prozesse sind [...]") von Software verwendet werden, ohne dass der Entwickler davon weiß.
„Developer of the Day 11. Februar 2013“
0
void
void26.11.1309:03
Und ich muss mich selbst korrigieren:

Es scheint gar keine API zu sein. Damit widerrufe ich meine vorherige Aussage:

Aus der Developer Doku :
The system uses heuristics to determine when an application is doing important work, and when the work it is doing is not critical. These heuristics include (but are not limited to): visibility on screen, drawing activity, event processing, audio playback, foreground vs background, and application type.
[...]
Therefore, App Nap is an opt-out feature.

Es gibt also lediglich eine API, um es Programmen zu ermöglichen, App Nap aktiv zu unterdrücken.

Und auch die Antwort auf die initiale Frage des Threads:
The user can opt an application out of App Nap manually with a checkbox in the Finder “Get Info...” pane.
„Developer of the Day 11. Februar 2013“
0
Gerhard Uhlhorn26.11.1309:21
Ja, genau. Der Entwickler kann bestimmte Prozesse von App Nap ausnehmen um Probleme zu vermeiden – so z.B. das oben genannte Brennen von optischen Datenträgern. Aber der Entwickler kann auch sagen welche Prozesse nicht zeitkritisch sind. Das gibt App Nap einen Anhaltspunkt, um wie viel dieser Prozess verschoben werden kann.

Ohne Unterstützung des Entwicklers trifft App Nap eigene Annahmen was wie wichtig ist, und das kann manchmal eben auch schief gehen.

Fazit:
Wenn App Nap funktioniert, und das tut es bei den meisten Programmen, ist es eine große Hilfe für den Benutzer. Man sollte es dann lieber nicht ausschalten. Und dort, wo es Probleme bereitet, dort schaltet man es aus.
0
Marcel Bresink26.11.1309:40
OK, OK, hier scheinen einige Missverständnisse aufgetreten zu sein, weil Apples Marketing mit dem Begriff App Nap zauberhafte Dinge verbindet, die sich für Software-Entwickler etwas anders darstellen. Man sollte vielleicht zwischen echtem App Nap und potenziellem App Nap unterscheiden.

Es ist richtig, dass Mavericks grundsätzlich bei allen Programmen versucht, durch Beobachten und Raten zu ermitteln, ob ein Programm für längere Zeit "nichts" tut. In diesem Fall kann ein Programm auch schlafen gelegt werden, wenn es nicht für Mavericks entwickelt wurde und App Nap nicht aktiv unterstützt. Man kann dieses improvisierte App Nap tatsächlich für alle Programme eines Benutzer-Accounts sperren, indem man den Befehl

defaults write NSGlobalDomain NSAppSleepDisabled -bool YES

eingibt und danach die betroffenen Programme neu startet. Aber auch ohne ausdrückliches Abschalten dieser Funktion wird diese Form von App Nap nur äußerst selten für alte Programme aktiv. Man kann das mit dem Programm "Aktivitätsanzeige" überprüfen, indem man dort auf der CPU-Seite die Spalte "App Nap" einschaltet.

Richtiges App Nap dagegen erfordert eine deutliche Mithilfe des jeweiligen Programms, indem es nämlich an das System meldet, wenn es sich gerade in einem unwichtigen Zustand befindet.

Und wenn ein älteres Programm, das gerade eine DVD brennt, sich tatsächlich anders verhält, wenn das improvisierte App Nap abgeschaltet wird, dann ist das ein kritischer Bug in Mavericks und sollte genauer untersucht werden.
0
dom_beta26.11.1313:02
Marcel Bresink

+1
„...“
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.