【プラグイン】macOSのApp Napによる速度低下を防止する

Go down

【プラグイン】macOSのApp Napによる速度低下を防止する

投稿 by miyako on 2018-11-20, 10:34 am

OS X 10.9 Mavericks以降,ユーザーが操作していないバックグラウンドのアプリケーションは,エネルギー消費を抑えるためにシステムの判断でスリープさせられるようになりました(App Nap)。ノートパソコンはともかく,サーバーにもこの機構が働くのは『?』な感じもしますが,とにかくそのような仕組みになっています。

32ビット版のアプリケーションであれば,Finderの『情報を見る』で『App Napを切にする』ことができます。64ビット版のCocoaアプリケーションには,このチェックボックスがありませんが,コマンドラインから設定することができます(NSAppSleepDisabledで検索してみてください)。あるいは,App Napそのものをオフにすることもできます。

Mac向けに4D Serverを展開しているデベロッパーの多くは,アプリケーションのインストールと同時に,ターミナルでApp Napそのものを切っているようです。

defaults delete NSGlobalDomain NSAppSleepDisabled

v14以降,App Napで速度が低下しないよう,4D Serverには一定の対策が講じられています(v13の4D Serverは,起動後,しばらくすると劇的に遅くなります)。しかし,v17であっても,App Napが有効にされている場合,4D Serverの管理画面を閉じ,ユーザーインタフェースがまったくない状態にすれば,やはりスリープ状態になることが観察されています。

これを防止するためのプラグインを公開しました。

https://github.com/miyako/4d-plugin-prevent-app-nap

コマンドを使用すると,アクティビティモニター上で4Dが「非スリープはい」に変化することが確認できます。

内部的には,プロセスのアサーションという仕組みを利用しています。コマンドラインの『caffeinate(カフェイン漬け,の意。ナイスネーミングですね)』と同じです。

なお,近い将来のビルドで,アプリケーション本体でも似たような仕組みを採用される予定です。

miyako

投稿数 : 281
登録日 : 2016/07/05

トップに戻る Go down

トップに戻る


 
Permissions in this forum:
返信投稿: 不可