スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« やっとリリースを完了 | トップページ | Mirror-DTC for Mac 1.3.0.3を公開 »

Mac用Mirror-DTCの変更

今はmacOS用AGMPlayerの開発フェーズで、まずは、macOS用AG-ムービーカッターを開発する必要があるのだが、macOS SierraでのMirror-DTCの挙動に少し問題があったので、調査した結果、若干の仕様変更で、問題を無くせる事が判った。なので、こちらを先に変更する。

冒頭に書いた問題というのは、昨日も書いたように、Mirror-DTCクライアントからサーバーに接続するタイミングで、数秒程度の待ちが発生している、というモノだ。

なので、今日は、まず、どの処理でその待ちが発生しているのかを調べてみたのだが、デバッグモードで順番にステップ動作させていった所、やたらと時間がかかっている処理が見つかった。

その処理は、動作しているマシンのマシン名を取得する処理だったのだが、このマシン名というのは、Windows / Mac / Ubuntu版で、異なるAPIを使って取得しているのだが、Macの場合、[[NSHost currentHost] name]というAPIを使っていた。

上記のAPIは、ネットワーク上のマシン名を出力してくれるAPIなので、その役割としては、Windows / Ubuntuで使用しているAPIと同じだったのだが、少なくとも、有線LANを使用している作者のMac mini Late 2014上のmac OS Sierra上では、上記のAPIを呼び出してから制御が戻るまでに数秒を要していた訳だ。

と、言うことで、常識的には、こんなAPIの処理に数秒も要するのは可笑しいので、これは作者のネットワーク環境に問題があるからかもしれないのだが、普通に、macOS Sierraのバグか、手抜仕様である可能性もある。

何れにしても、作者的には、このAPIの処理時間を短縮できそうにはないので、問題の解決方法としては、このAPIを使わない事にした訳だ。

具体的には、マシン名の取得には、[NSHost currentHost].localizedNameを使う事にしたのだが、このAPIの場合、待ち時間はほぼ0になる。

ただし、出力される文字列は前述のAPI出力とは異なるので、互換性という意味では、現行版に対する互換性は無くなるのだが、使われる文字列は、「システム環境設定」-「共有」-「コンピュータ名」で設定する文字列そのものになる。

なので、現行版よりも、マシン名はより親しみがあるモノになる筈なので、仕様変更が発生したとしても、それは改良になるかなあ、と、言うことで、問題視はしない事にした訳だ。

と、言うことなので、上記の変更を行う事で、少なくとも作者環境のmacOS Sierraで発生している接続開始時の待ち時間の発生は抑えられるので、そういう変更を行ったバージョンを、多分、明日にはリリースする事になる筈だ。

ちなみに、何故、クライアント側でマシン名を読み出す必要があるのか、というと、Ver1.3.0から、クライアントのマシン名をサーバーに通知する格好にしているからだ。

で、こちらについては、ある意味、当然の事ではあるのだが、サーバー側も、マシン名はクライアントに送信しているので、前述のAPI変更は、サーバー側についても、同時に行う。

なので、次のリリース版でも、クライアントとサーバーの両方のバージョンが上がっているのだが、変更内容は、主に、上記程度だ。

ただし、クライアント/サーバー共に、元々のソフト名は「Mirror-DTC xxx for OS X」だったので、今回、for Macに変更している。

このため、どの道、クライアントとサーバーの両方に変更は入ったのだが、クライアントについては、ついでに、軽微な不具合の修正も一つだけ行っている。

具体的には、サーバー側の画面に変化が無い場合、接続開始後、マウスカーソルを動かすまでは、画面表示が真っ暗のままになる場合があったので、そういう場合にも、強制的に画面描画を行う様に修正している。

と、言うことで、既に変更は完了していて、配布パッケージも出来ているので、明日には、リリースすると思われるのだが、その後、ついでなので、数日前に書いていた様に、Ubuntu版についても、Mirror-DTCの変更を先に行っておく事にする筈だ。

« やっとリリースを完了 | トップページ | Mirror-DTC for Mac 1.3.0.3を公開 »

トラックバック

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

この記事へのトラックバック一覧です: Mac用Mirror-DTCの変更:

« やっとリリースを完了 | トップページ | Mirror-DTC for Mac 1.3.0.3を公開 »

2017年10月
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 31        

広告

プライバシーポリシー

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

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

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

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