どのようにあなたのMacアプリケーションがエネルギーを節約するためにApp Napを利用するか

昼寝を取ることは常にあなたのMacの時間を最大限に活用するとは限らない

OS X Mavericks以来、あなたのMacアプリケーションの中には、見ていないときにナップを取っているものがあります。 AppleはApp Nap機能を導入し、MacBookのバッテリ寿命を延長し、デスクトップMacの電力効率を向上させました。

App Napのしくみ

App Napは、OS Xが有用なタスクを実行していないと判断したときにアプリケーションを一時停止することで動作します。 OSは、デスクトップ上に開いているウィンドウが開いているアプリケーションが他のアクティブなアプリケーションによって完全に隠されているかどうかを見て、この魔法を実行します。

アプリが他のウィンドウの背後に隠れている場合、OS Xは、ファイルのダウンロードや音楽の再生など、アプリが重要な作業を行っているかどうかを確認します。 OSが重要だと思っていることをしていない場合、App Napが関与し、アプリケーションは停止状態になります。

これにより、Macの省電力化が可能になり、充電が必要になる前にバッテリの寿命延ばすことができます。また、電源に接続すると、Macのエネルギー効率を向上させることができます。

アプリナップがいつも最高のものにならない理由

たいていの場合、App NapはMacBookを動力源から離して走らせておくための強力なツールになることができます。 デスクトップのMacでさえ、App Napで消費電力を抑えることができます。 しかし、どのアプリケーションが強制的にスリープ状態になっているかに応じて、常に最適な選択とは限りません。

OSはバックグラウンドでまだタスクを実行しているアプリケーションに干渉しないようにしようとしていますが、ときどき私のアプリケーションが動作すると思ってスリープしているので、ずっと早く完了すべきタスクが長くなることがあります。

他のケースでは、ナップを取っているアプリは、アプリケーションがx分の時間ごとにタスクを実行するように指示する内部タイマーのように、利用しなければならない入力に応答できませんでした。

ありがたいことに、App Nap機能を制御するには2つの方法があります。

App Nap機能の制御

App Napを有効または無効にする方法を調べる前に、すべてのアプリがApp Napを認識しているわけではないことに注意することが重要です。 いくつかのアプリはApp Napで制御することはできず、App Napのenableコマンドとdisableコマンドにも応答しません。 幸いなことに、どのアプリがApp Napを認識しているのか、どのアプリがそうでないのかを簡単に知ることができます。

アプリごとにアプリのナップを無効または有効にする

App NapはOS Xではデフォルトで有効になっていますが、個々のアプリケーションでApp Napをオフにする簡単な方法があります。

  1. Finderウィンドウを開き、無効にするアプリにナビゲートします。 通常は/アプリケーションフォルダにあります。
  2. アプリケーションを右クリックし、ポップアップメニューから「情報を見る」を選択します。
  3. Get InfoウィンドウのGeneralエリアが展開されていることを確認してください。 (一般的な言葉の横にある山形をクリックすると、それが指摘されます)。
  4. App App Napチェックボックスが表示されている場合は、ボックスにチェックマークを付けることで、ナップを防止したり、チェックマークを外してナップを許可したりすることができます。 チェックボックスがない場合、アプリはApp Napを認識しません。
  5. App Napチェックボックス設定を実行中に変更した場合は、アプリを再起動する必要があります。

システム全体でアプリのナップを無効にする

App Napは、システム全体でオフにすることができます。 これは、デスクトップMacユーザー、または常にMacBookを接続したままにしておくユーザーに役立ちます。これらの状況では、App Napは重大な節電システムではなく、アプリケーションがいつでもバックグラウンドプロセスを実行できるようにすることができます。

  1. / Applications / UtilitiesフォルダにあるLaunch Terminalに移動します。
  2. 開いているターミナルウィンドウで、次のコマンドを入力します。
    1. デフォルトの書き込みNSGlobalDomain NSAppSleepDisabled - ブールYES
    2. :上記のテキスト行を3回クリックすると、コマンド全体を選択できます。 コマンドをコピーして[ターミナル]ウィンドウに貼り付けることができます。
  3. キーボードに応じて、EnterキーまたはReturnキーを押します。 コマンドは実行されますが、コマンドのステータスに関するフィードバックはターミナルウィンドウに表示されません。

App Napをシステム全体で無効にすると、[App App Napの防止]チェックボックスにチェックマークが付けられません。 単にシステム全体の機能をオフにしているだけです。 App Nap機能に応答したアプリケーションは、システム全体でApp Nap機能を再び有効にすると、引き続き機能します。

システム全体でアプリケーションナップを有効にする

私たちの他のTerminalトリックを試してみたのであれば、システムナップ機能を有効にするために、App Napを無効にするコマンドをわずかな変更を加えて使用することができます。

  1. Nap Appをシステム全体で有効にするには、Terminalコマンドを入力するだけです:
    1. デフォルトの書き込みNSGlobalDomain NSAppSleepDisabled - ブールNO
    2. :もう一度、上記のテキスト行を3回クリックして選択し、コマンドをTerminalにコピーして貼り付けることができます。
  2. キーボードのEnterまたはReturnキーを押すと、コマンドが実行されます。

グローバルApp Nap enableコマンドを使用しても、個々のアプリケーションのApp Nap設定は上書きされません。 単にシステム全体のサービスを有効にします。 各アプリは引き続き個別に有効化/無効化できます。