【プラグイン】macOSのApp Napによる速度低下を防止する
【プラグイン】macOSのApp Napによる速度低下を防止する
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(カフェイン漬け,の意。ナイスネーミングですね)』と同じです。
なお,近い将来のビルドで,アプリケーション本体でも似たような仕組みを採用される予定です。
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- 投稿数 : 483
登録日 : 2016/07/05
Similar topics
» 【プラグイン】めかぶ v2
» 【プラグイン】OCR
» 【プラグイン】ファイルやフォルダーの番号を取得する
» 【プラグイン】CITRIX環境でクライアントユーザー名を取得する
» 【プラグイン】テキスト間の違いを背景色で強調する
» 【プラグイン】OCR
» 【プラグイン】ファイルやフォルダーの番号を取得する
» 【プラグイン】CITRIX環境でクライアントユーザー名を取得する
» 【プラグイン】テキスト間の違いを背景色で強調する
Permissions in this forum:
返信投稿: 不可
|
|