スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« 少し動き始めた | トップページ | Windows10は背水の陣? »

不安定になる原因はApp Nap

今は、OSX用Mirror-DTCのネイティブ版を開発中で、昨日の時点でデスクトップ/マウスカーソル画像の転送が、不安定ながら、出来る様になったので、今日はマウス操作も可能にしたのだが、その後、不安定になる原因を調べてみた所、App Napがアプリ動作を阻害していた。

Mirror-DTCのホームページには、OSX用のMirror-DTCサーバーを使う場合には、App Napを禁止する様に注意書きを追加してあるのだが、これは、App Napというのは、画面の最前列に存在するアプリ以外のアプリの動作を阻害する機能だからだ。

まあ、Apple的には、App Napの目的は別にある、と、言っている様なのだが、常識的に考えて、フロント動作していないアプリの優先度を極端に下げてしまうと、何が起きるかは判りそうなモノではある。

つまり、Mirror-DTCサーバーの場合、起動直後にはダイアログが表示されるのだが、そのダイアログは、通常は、操作する為のモノではないので、隠してしまうか、最小化してしまうのが普通の使い方になるのだが、そういう状況になると、OSX10.9では、OSがMirror-DTCサーバーにCPU処理を殆ど行わせなくなる。

なので、App Napが動作していると、通常は、接続要求にも応答出来なくなるので、Mirror-DTCサーバーの場合、App Napは禁止しなければ機能しない訳だ。

このため、Mirror-DTCのホームページには、その旨の説明と、具体的な禁止方法を記述してあるのだが、今現在開発中のネイティブ版Mirror-DTCサーバーでは、同じ方法でApp Napを禁止する事が出来ない。

これは何故なのか、というと、ベースSDKが10.9になっている性か、現行版だと、情報表示ダイアログに表示されるApp Napを切りにする、という様な設定項目が表示されなくなっているからだ。

その代わりのつもりなのだろうが、OSX10.9では、App Napを禁止するためのAPIが追加されている。しかし、当然の事ながら、こんなAPIを使ってしまうと、OSX10.8ですら、動作対象OSには出来なくなる訳だ。

しかし、上記の様に、App Napが動作していると、Mirror-DTCサーバーは完全に使い物にならなくなる訳なので、App Napを禁止するのはネイティブ版Mirror-DTCでは必須の処理になる。

と、いう事で、どうしたモノかなあ、と、思っているのだが、作者的には、OSX10.8/10.7で動作するXcode環境も持っているので、そちらでビルドする、というのが簡単ではある。

多分、この場合には、現行のJava版と同様に、App Napを切りにする設定項目が表示される様になる筈なので、作者的には、現行版と同じ注意文言を追加しておけば良いだけだ。

まあ、こういう環境を何時までも持っている訳にも行かないので、将来的には、APIを使って禁止する方向になる筈なのだが、現時点では、「待て あわてるな これは孔明の罠だ」、みたない気がしないでもない訳だ。

もっとも、使いもしないタイマーを動作させておけば、App Napは禁止される、という話もある様なので、そういうやり方でApp Napを禁止する格好にすれば、OSX10.7以降では普通に動作させる事も出来るかもしれない。

なので、作者的には、少し消費電力が増えてしまうのが心苦しいのだが、これもAppleの思し召しなので、致し方ないと諦めて貰うしかなくなる可能性もある。

ちなみに、OSX用のMirror-DTCについては、もう一つ、注意点をドキュメントに書いてあるのだが、Mirror-DTCをフロントに持ってこないと、クリップボード転送もチョクチョク行えなくなる。

これについても、Mirror-DTCのバグという訳ではなく、OSXの仕様だ。

このブログでは、バグと仕様と不具合については、ちょくちょく書いているのだが、大体は、例え不具合があったとしても、それはバグとは限らない、という言い方をしている。

つまり、バグというのは、開発者が意図しない動作をする場合に、そう呼ばれるべきモノであって、開発者が意図的に行っているモノについては、例えその処理に不具合があったとしても、バグにはならない訳だ。

なので、OSXで発生するアプリの不安定さや速度低下やクリップボードの不安定さも、OSXのバグではない。しかし、実際問題としては、不具合は発生する訳なので、勘弁してもらいたいと思っているのは作者だけではないだろう。

= この記事に関連する公開中ソフト =

Mirror-DTC

Mirror-DTC

(2015/02/15追加)

« 少し動き始めた | トップページ | Windows10は背水の陣? »

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/534482/60401700

この記事へのトラックバック一覧です: 不安定になる原因はApp Nap:

« 少し動き始めた | トップページ | Windows10は背水の陣? »

2017年9月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    Cookieを無効にする設定およびAdsenseに関する詳細については、以下のリンクを参照下さい。

    広告 - ポリシーと規約 - Google