多分、リリースは4月2日
昨日書いた様に、次バージョンのMirror-DTCはWindows7で動作確認していたのだが、ASUS X202EのWindows8では問題が出た。なので、今日は原因を調べて対応もしたのだが、明日はエイプリールフールの日なので、Ver1.2.3のリリースは、多分、明後日になる
« 2013年2月 | トップページ | 2013年4月 »
昨日書いた様に、次バージョンのMirror-DTCはWindows7で動作確認していたのだが、ASUS X202EのWindows8では問題が出た。なので、今日は原因を調べて対応もしたのだが、明日はエイプリールフールの日なので、Ver1.2.3のリリースは、多分、明後日になる
昨日書いていた様に、作者的には、Windows8が動作するマシンを持っていなかったので、今日、量販店に行って2012年冬モデルのASUS X202E(シャンパンゴールド)を買ってきた。あまり値崩れはしていなくて、49,800円だった。まあ、それでも、安いと言えば安いのだが。
今日は、次バージョンのMirror-DTCの配布パッケージを作者のダウンロードサイトにアップし、各OS環境でそれを実際にダウンロードしてインストール/動作確認した。普通は、ここまでする必要は無いのだが、OSXのGatekeeperの挙動を確認しておく必要があった訳だ。
今日は次バージョンのMirror-DTCの配布パッケージを作りつつ、動作確認をしていたのだが、Windows環境用のJava版、というか、WindowsのJava環境の動作に変な点が見つかったので、Windows用のJava版は廃止する事にした。ついでに、Java VM用というのも無くす。
次バージョンのMirror-DTCの開発作業も終盤に入っていて、今日から配布パッケージを作り始めたのだが、対応OSが三種類あって、それとは別にWindows用にはネイティブクライアントと簡易サーバーとサービスがあって、64Bit版も同梱するので、何となく、大変だ。
今日は次バージョンのMirror-DTCのUbuntu用Java版の変更作業を完了した。これで、一応、全環境用の変更が終了した事になるので、明日からはMac/Ubuntu用にインストーラだとかも作成して配布パッケージの形にし、インストール/運用確認に入る事になる筈だ。
今日はWindows用Java版Mirror-DTCの変更を完了し、Ubuntu用の変更作業に入った。Ubuntu用の変更では、主に、Unity3D上での表示上の見栄えを良くする作業がメインになる。この辺のノウハウはUbuntu用AGMPlayerで蓄えてあるので、時間はかからない筈だ。
今日から開発中のJava版Mirror-DTCのWindows環境用開発を始めたのだが、とりあえず、JNIを使わない状態で確認してみた所、Java6では問題が無いにも関わらず、Java7では問題が出るケースがあった。これがJava7のバグなのか仕様なのかは知らないのだが。
今は次バージョンのMirror-DTCの開発中で、基本的には、機能的な変更を行わず性能だけ上げる格好にしているのだが、不具合の修正は何点か行っている。何度か書いてきた様に、不具合というのはバグとは限らないので、修正すると機能的な変更も微妙に入る事になる。
今日は次バージョンのWindowsネイティブ版Mirror-DTCクライアントの性能を測ってみた。Mirror-DTCの場合、余程マシン性能が低いか、ネットワーク帯域が狭い場合を除き、現行版でも、30FPSでの画面転送は出来るので、測定はCPU時間、つまり軽さを比較してみた。
今日はWindowsネイティブ版Mirror-DTCクライアントの性能を上げていた。デスクトップ圧縮については、まだ変更が出来ていないのだが、映像圧縮については、2倍近くは軽くなっているかもしれない。軽くなっている理由は、AG-ムービーカッターの改良開発時と同じだ。
今日はMirror-DTCのWindowsネイティブ版サーバーのコードを性能向上用に最適化したコードに変更した。その結果、1~2割は軽くなったみたないのだが、あまり有り難味は無いかもしれない。何故かというと、現行版でもCore2DuoのMacBookで30FPSは軽く出ているからだ。
今日はMac用Java版Mirror-DTCサーバーのJNIルーチンの最適化を大体終了したのだが、キャプチャー負荷が高かったので、フレームレートは大して出なかった。なので、調べてみた所、キャプチャー負荷も軽く出来た。結果的に、次バージョンは現行版より劇的に速くなる。
今はJava版Mirror-DTCのサーバー側をJNIを使って高速化、というか、軽量化しているのだが、結構時間がかかっている。これは何故なのか、というと、現行のWindowsネイティブ版サーバーのコードは今となっては古いので、ネイティブコードを色々と新しくしているからだ。
今はJava版Mirror-DTCのサーバー側をJNIで高速化する作業を行っていて、現時点で、主要ルーチンのJNI化は終わり、性能もそれなりに向上はしているのだが、少なくともMac用については、2倍も上がらない筈だ。理由は単純で、OSのAPIを使ったキャプチャー負荷が高いからだ。
今は次バージョンのMirror-DTC開発の一環として、Java版サーバーのJNIによる性能向上をやっているのだが、Windows8対応という事にするかどうかを少し悩んでいる。悩んでいる原因は、Windows8の不評にあるのだが、腐ってもWindowsなので、困ってしまう訳だ。
今日はJava版Mirror-DTCのサーバー側をJNIで軽くする作業をしていたのだが、サーバー側はデスクトップ画面のキャプチャー負荷が高いので、クライアント側程には軽量化できない感じだ。で、今日はSurface RTの発売日なのだが、このマシンは売れるのだろうか?
今日はMac用Java版Mirror-DTCクライアントの仕上げとして、YV12/YUV逆変換ルーチンのSSE2化を行ったり、Javaルーチンのみで動作出来る用に、今回JNI用に変更した箇所についてJavaルーチンを作成したりした。その後、Mac用Java版サーバーの変更を始めた。
今日でOSX用Mirror-DTCクライアントの変更が大体終了したのだが、性能は現行版よりも3~4倍は軽くなった感じだ。現行版だとCore2Duo-2.26GHzの作者のMacBookでは有線LAN接続された開発マシンのフルHD動画を30FPS表示出来ないのだが、変更後は楽勝になった。
昨日書いた様に、改めて見てみると、Java版Mirror-DTCクライアントの出来は悪かったのだが、何処の出来が悪いのかというと描画系だった。なので、描画系については作り直し中だ。まあ、出来が悪いといっても動作的には問題は無いのだが、性能的には問題ありだった。
昨日書いた様に、今日はJava版Mirror-DTCのMac用クライアントの改良開発を始めた。今日の時点で、JNI環境が構築できていて、全画面表示の動作モードも変更できていて、フルスクリーンモードにも対応できている。しかし、性能向上用の処理ルーチンの適用はまだだ。
今週はPC版Mirror-DTCの改良開発を行うのだが、Ubuntu/Mac/Windows用のクライアント/サーバーがあるので、変更内容は大した事がないものの、作業量はそれなりになるかもしれない。とりあえず、一番変更量が多いのはMac用クライアントなので、それから始める。
今日、Android版Mirror-DTCのVer1.2.3を公開したのだが、Ver1.2.2が同梱されているMirror-DTC本体の配布パッケージは更新していない。これは何故なのか、というと、本体のJava版にも、メインテナンスすべき項目が溜まって来ているため、近々更新する事にしたからだ。
Ver1.2.3ではAndroid4系列機器で発生する接続処理関連の不具合と、その他のいくつかの詳細不具合が修正されています。同時に、主要ルーチンのJNI化等による大幅な性能向上も行われていますので、Android2系列機器用としても有用なバージョンになります。
今日は、今週改良開発していたAndroid版Mirror-DTCのAPKパッケージを作成して、現行バージョンからの更新インストールもやって見たのだが、データは削除はされないものの、引き継がれもしなかった。別に、意図してそうした訳ではないのだが、好都合ではある。
今日は、Android版Mirror-DTCのコードをより最適化しつつ、整理したりもしていたのだが、次バージョンのAndroid版Mirror-DTCのデフォルト設定は、現行版のデスクトップ圧縮から映像圧縮(バランス)に変更した。同時に、フレームレートも15FPSから30FPSに変更した。
今日は、Android版Mirror-DTCの総合性能を上げていた。メモリ使用量を増やせば、性能は簡単に上がるのだが、現状のメモリ使用量は、ヒープサイズが42MBのPHOTONで1920x1080の最高画質表示を出来るように切り詰めたものだった。なので、使用量は増やさなかった。
今日はAndroid版Mirror-DTCでJNI側に持っていったデコードルーチンの最適化とマルチスレッド化を行ったのだが、その結果、デコード性能はかなり向上し、DVD動画の視聴程度なら、30FPSでのデコードも行えるようになった。ただし、これはデコード性能についての話だ。
昨日書いていた様に、今日からAndroid版Mirror-DTCクライアントのJNI化作業を始めたのだが、今日の時点で、デスクトップ圧縮と映像圧縮の基本モードについては、主要ルーチンのJNI化が完了している。まだ、最適化は未なのだが、それでも、そこそこは軽くなっている。
昨日書いたように、Android版Mirror-DTCをNexus7で動作させると問題が出て、USBデバッグして接続絡みの問題は解決できたのだが、後一つ良く判らない問題が残っていた。その原因解明には苦労したのだが、現行版で現象が出ない理由が判らず、時間を食ってしまった。
今日は、昨日書いていたように、Android版Mirror-DTCをNexus7で使った場合に発生する不具合の原因調査と修正作業を始めたのだが、昨日の問題の原因はUSBデバッグしてみると一瞬で判った。後一つ問題があって、これについては、まだ良く判らない状況なのだが。
今日は先週購入していたNuxus7で開発中のAndroid版AGMPlayerと公開中のMirror-DTCクライアントを動かしてみたのだが、予想に反して、AGMPlayerは比較的マトモに動作したものの、Mirror-DTCクライアントは、接続後は比較的快適なのだが、接続でトラぶった。