β版のリリース準備を始めた
Mirror-DTCのJava版サーバーの開発を始めてから2ヶ月程度経過し、何とか、使えるかな、という感じになったので、β版としてリリースしておこうとしているのだが、今日はそのために必要となる、とりあえずの、纏め作業をやっていた。リリースは来週になるだろう。
« 2011年8月 | トップページ | 2011年10月 »
Mirror-DTCのJava版サーバーの開発を始めてから2ヶ月程度経過し、何とか、使えるかな、という感じになったので、β版としてリリースしておこうとしているのだが、今日はそのために必要となる、とりあえずの、纏め作業をやっていた。リリースは来週になるだろう。
一昨日書いたように、UbuntuでMirror-DTCのJava版サーバーを動作させると、すぐにクラッシュするようになっていたのだが、問題は解決した。以前からあった不安定さも無くなり、快適だ。ただし、JNIライブラリが無いと使い物にならないので、どうしようかと思っている。
昨日の問題は、解決出来た、と、思われるのだが、もう少し色々とやるつもりなので、詳細は明日書く事にする。で、今日は、Windows8のセキュアブート機能について、考えてみるのだが、この機能は、どう見ても「踏み絵」だ。PCメーカーはどう対処するのだろう?
今日は、Ubuntu用のJNIライブラリにマウス制御処理も入れて、Robotライブラリを使わなくても、動作可能にしてみたのだが、ほぼ確実にクラッシュするようになった。現象的に、XLibへのマルチスレッドアクセスが問題のようなのだが、Gdkのブロックも効かないようだ。
昨日書いたようにJavaのRobotクラスのKeyPress/KeyReleaseではUbuntuで「|」キーの入力が出来なかったため、GDKのAPIを使って何とかしようとしてみたのだが、マトモに動作しなかったため、X-WindowのAPIを使ってみたところ、全キーのエミュレーションが出来た。
昨日は、JavaのRobotライブラリのKeyPress/KeyReleaseがUbuntuについては、問題なく使えたと書いたのだが、それは間違いで、「|」が入力できなかった。これでRobotライブラリはMacOSX/Windows/Linuxの全てで完全には使えない事になった。JNIで何とかしたいのだが。
昨日書いたように、今日はUbuntuで、Mirror-DTCのJava版サーバーを動作させ、キー入力を試してみたのだが、幸いな事に、JavaのRobotライブラリで通常キーの入力は行えた。なので、Ubuntu用のJNIライブラリにはキー操作処理は不要となったのだが、少し調整している。
今日は、Mirror-DTCのJava版サーバーのMacOSX用JNIライブラリにキー操作処理を追加した。これで、普通のキーは当然として、「英数」/「かな」キーなんかについても、リモートから入力できるようになったため、普通に使えるようになった。Windowsのキー操作もJNI化した。
今日は、MacOSX上でMirror-DTCのJava版サーバーにキー操作させてみたのだが、一部のキーバインドが正しくない。それは良いにしても、普通に使うキーの中にも2個操作出来ないキーが見つかったため、キー操作についてもJNIライブラリで実現することになりそうだ。
今日は、Mirror-DTCのJava版サーバーのMacOSX用JNIライブラリをWindows用と同様のインタフェースを持つように変更した。Java版サーバーの場合、JNIライブラリはOS毎に個別になるものの、Javaのjarファイルに関しては、共通にするつもりなので、そのための対応だ。
今日はMirror-DTCのJava版サーバーを各OSでJNIライブラリを使わない状態で動作させ、確認したりしていたのだが、Windows/MacOSXでは問題は無かったものの、また、Ubuntuで問題が出た。対処は可能かもしれないのだが、面倒なのでUbuntuでの制限事項にする。
Mirror-DTCのJava版サーバーは、ほぼコーディングを終えてコード整理等を行っている段階なのだが、MacOSX用の最適化を行っていなかったため、今週は、そのための作業も行っていく事になる筈だ。それ以外にも、パラメータ付きの起動モードも追加する筈だ。
現在はMirror-DTCのJava版サーバーの開発フェーズで、大体のコーディングは終わっているのだが、Windows8の情報が公開されたので、その調査で作業は停滞ぎみだ。もっとも、停滞ぎみになっている理由は他にもあって、JNIライブラリを変更したりもしているからだ。
ここ数日、情報が開示されたWindows8について色々と見てきたのだが、作者的な感想としては、混沌としてきたなあ、という感じだ。Windows8はWindows Phone 7 なんかとは違って、影響力が大きいため、タブレット/スマートフォンの勢力図にも影響するだろうからだ。
PC Watchにタイトルのような記事があった。最初はピンと来なかったのだが、Windows8のプレビュー版を弄っていると何となく判って来た。ネットを見ているとMetroの不人気は確定のようなのだが、それでも、Windows8は時代を変える重要OSになるものと思われる。
昨日、Windows8のプレビュー版をダウンロードし、早速、VirtualBoxに64Bit版をインストールして動作確認してみたのだが、Mirror-DTCは普通に使えた。DTCService版なら、起動後のロック画面からログインウインドウ、そして、Metroでもデスクトップでもリモート操作できた。
今日はWindows8関連の情報が開示されたため、ネットで基調講演を見たり、プレビュー版をダウンロードしたりしていたのだが、ネットを検索してみた所、Windows8のMetro用アプリはデジタル署名必須になるらしい。やはり、Windows8タブレットは有料アプリビュアーになりそうだ。
Mirror-DTCのJava版サーバーの開発も終盤に差し掛かっていて、今日は未実装にしてあったTCP接続モードとファイル転送機能を実装した。この辺のコードはクライアントから持ってこれるので作業は楽だ。まだクリップ転送機能は残っているのだが、すぐに実装出来る筈だ。
昨日書いたように、Mirror-DTCのJava版サーバーのDCTモードは重かったのだが、その原因は別要因による性能バグで、インライン化の問題ではなかった。念のため、手動でインライン関数を展開してみたのだが、性能に顕著な違いは出なかった。
Mirror-DTCのJava版サーバーの開発も終盤に差し掛かっているため、コーディングすれば動く事が明らかだったため未実装にしてあった部分についても実装を始め、DCTモードも動き出した。しかし、Javaではインライン関数が展開されないため、今のところ結構重い。
Mirror-DTCのJava版サーバーの開発も終盤にさしかかっているのだが、コーディングがメインになってきているため、今日は、時事ネタにしてみることにした。あまり面白そうなネタは無かったのだが、Windows8はHyper-Vを搭載するらしい。ARM版では使えないようなのだが。
今日は、Mirror-DTCのJava版サーバーの未実装部分の実装を継続していたのだが、あと数日はかかりそうだ。普通のコーディングも少し残っているのだが、キーボード入力に対する対応が面倒かもしれない。もっとも、より面倒なのは、Ubuntu用のJNIの公開方法だ。
Mirror-DTCのJava版サーバーは、MacOSX/Ubuntu/Windows用のJNIも作成し、基本部分については問題なく動作する事が確認できたのだが、基本以外の部分については未実装の部分もあった。このため、今日はそれらの実装をしていたのだが、もう少し残っている。
今日は、昨日書いたように、Mirror-DTCのJava版サーバーの性能を上げてみていたのだが、かなりマシになったものの、やはり、C++版に迫る性能、というのは無理なようだ。JavaにはJITコンパイラがあるとは言え、C++ほど性能を考慮した調整は出来ないからだ。
今日は、Mirror-DTCのJava版サーバーのWindows用JNIライブラリに音声取り込みルーチンを追加した。性能も見てみたのだが、Corei7の開発マシンでは、大した負荷には感じられないのだが、dynabookMX/33ではかなり重い。なので、少し性能は上げる必要がありそうだ。
今日は、Windows用にMirror-DTCのJava版サーバーのJNIライブラリを作り、適用してみたのだが、やはり、JavaのRobotライブラリでキャプチャーするよりは負荷が軽くなった。まだ音声系については適用していないのだが、現時点で、C++版より2倍重い程度にはなっている。
Mirror-DTCのJava版サーバーは、MacOSX/Ubuntu/Windows用に個別のJNIライブラリを作っている関係で、当初の見込みよりは開発に時間がかかっているのだが、今週中には、格好が付くだろう。そうすると、Mirror-DTCも、一応は、クロスプラットフォーム対応になる。
今日はWindows用にMirror-DTCのJava版サーバー用のJNIを作ってみていたのだが、意外な所に落とし穴があって、ちょっとだけ苦労した。内容的には大した事では無かったのだが、その対処のために集中力を欠く事になり、今日のところは、JNIライブラリは未完成だ。
今日はUbuntu向けMirror-DTCのJava版サーバー用に、音声の録音機能をJNIライブラリに追加したのだが、その結果、現時点でも十分に使える程度に使用時の負荷は軽くなった。当然、音声も正しく転送され、YouTubeの動画なんかもストレスなく視聴出来るようになった。
昨日書いたように、Ubuntu用のMirror-DTCのJava版サーバーは、画面キャプチャー用のJNIライブラリを適用しても、まだ、重かったのだが、調べてみた所、Javaの録音処理が信じられないくらい重いのが原因だと判った。Windows/MacOSXでは無視できる負荷だったのだが。