2018年3月16日 (金)

Ver.2.0.17 リリース & Android版 Alpha 8 リリース

Ver.2.0.17 をリリースします。

.iniファイルにパスワードのデフォルト値を書くためのフィールドを追加しました。

password=xxxxxxx

ただし、このフィールドは手動で追加する必要があります。

またサーバ側でスケーリングを行う設定を標準に変更しました。設定ダイアログで変更するか、.iniファイルの

desktopScalingType=0

desktopScalingType=1

に直接変更してください。

また同時に同じソースで作ったAndroid版のAlpha 8もアップロードしました。


以下からダウンロードできます。(Windows/Linux(x64のみ)/Mac版)


https://github.com/funfun-dc5/qtbrynhildr/releases


主な変更は以下です。


[新規機能]
・".ini"ファイルにpasswordフィールドを追加

起動時に「サーバに接続」ダイアログに初期値として設定される。
(手動で追加した場合にのみ対応)

[不具合修正]
・Raspberry Pi 3で終了時に異常終了する不具合暫定対応

[その他変更]
・サーバ側でのスケーリングを標準設定に変更
・フレームレートの表示フォーマット及び変更タイミングなどの微調整
・ソースコードの整理


(追記)

個人的な興味でWindows以外向けの互換サーバの実現についてちょっと調査してます。

Qtのキャプチャ機能を使う25fpsくらい、Desktop Duplication API を使ってどのくらいなのか調べてみようかなと思います。

(追記2)

Coverity Scan がようやく復帰したみたいなのでこれから解析しようと思います。不正アクセスによりマイニングに使われていた可能性があるとか…

解析用のデータをアップロードしたら、キューに122プロジェクト溜まってました…大渋滞ですね…

(追記3)

2018.3.28現在Coverity Scan解析の前に溜まっているキューは103プロジェクト…当分待ち状態が続くようです…
OpenSSLもアップデートされたので更新しないと…

HBD: 3.15 version

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
777c4bce218ae25028e9a1603f3e2dc69f4ad99eab512ab23bc6f9f7104889a8 *QtBrynhildr64-windows-v2017-msvc.exe

2c642e5b792ee05344d3b6fdc4fbb428b0539ea7b6fe4d62b1d0af52108afd05 *QtBrynhildr64-windows-v2017-Portable.exe

d1c8512a35d36dd4ef641bea86b78d0665e4dc7a84e5bcc48c9a061f1c66a4a9 *QtBrynhildr-android-v210-alpha-20180315.apk

1af46713734bef907060f174e01c5445a253fbd30686d083b19309ce926da8bb *QtBrynhildr-documents-20180315.zip

b8cfc2a0f0fc3343db7dd934d139ffe737f46be79eb44583ee4999b14e39e069 *QtBrynhildr-linux_x64-v2017.run

6676422b13d95bcfcba260754958bb075d6c1d155bd49983013557630ffac5ad *QtBrynhildr-macosx_x64-v2017.dmg

5da227cc1ddd8ed7a7aafb6234df2907a75bb57db7bc5ff4fa69a3086af09528 *QtBrynhildr-windows-v2017-msvc.exe

68e1a8f2dd38474912a475586f0a216e103dc2513b0c0f6a816f2de363da797f *QtBrynhildr-windows-v2017-Portable.exe

2018年3月12日 (月)

これは…

今は使っていませんが、以前このブログの記事に載せるために使っていました…

仮想通貨の採掘を秘密裏に行うツールをバンドルした「oCam」を窓の杜で収録中止

その頃のバージョンにはバンドルされていなかったと思います。

2018年3月 8日 (木)

Ver.2.0.16 & Android版 Alpha 7 リリース

Ver.2.0.16 をリリースします。

一部の環境でサウンド再生時にプチノイズが発生する不具合を修正しました。

あとテスト実装していた「デスクトップ圧縮モード」を正式に追加しました。

一時的に現在の1/2, 1/4, 1/8のサイズに変更しますが、圧縮なしを選択すると元のサイズに戻ります。私は別の作業中デスクトップの隅にサーバPCの様子を小さく表示させてます。


1/4モードで確認用に表示した例

Ws000001


本家Brynhildrの方で話題になっていたスナップ機能の動作を確認しました。

また同時に同じソースで作ったAndroid版のAlpha 7もアップロードしました。

ソフトウェア・ボタン/キーボードの表示インターフェースの初期値を「KeroRemote方式」に戻しました。
オプションメニューから「Qt Brynhildr方式」に変更できます。

各自のホームボタンの位置に応じて変更することになるかと思います。


以下からダウンロードできます。(Windows/Linux(x64のみ)/Mac版)


https://github.com/funfun-dc5/qtbrynhildr/releases


主な変更は以下です。


[新規機能]
・2.0.2でテスト実装した「デスクトップ圧縮」機能を正式追加

一時的にデスクトップを縮小(1/2, 1/4, 1/8)表示する。OFFにすれば元のサイズに戻る。

[不具合修正]
・サウンド再生でプチノイズが発生する不具合修正
・ドラッグしてウィンドウ外にマウスカーソルを移動した時Qtのワーニング・メッセージが表示される不具合修正(Windows版を除く)


-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
df04cdb95fe7e82d9e9de082781970ef19268238a6ebfde6b77f068bfca94477 *QtBrynhildr64-windows-v2016-msvc.exe

e4be43e9f5d89d3ad7fba3b23c3e09150489b38d5b234bf532690acbe71f87c6 *QtBrynhildr64-windows-v2016-Portable.exe

50a45011d686c37473e516ff248e088cab763f4fbc532d87980966ad6ee9be89 *QtBrynhildr-android-v210-alpha-20180308.apk

85919d218e1504513caf351e11abada0aaf8c31c69f6f3a8fea44bfb2f14c81b *QtBrynhildr-documents-20180308.zip

66f99aba15296371cb96d51723cbb0321f49701f5d3bb9a987499e73833edb2d *QtBrynhildr-linux_x64-v2016.run

b227727088cf61d44e660f44224e72961c5a66035aa7d535427ffe2f2d820c7e *QtBrynhildr-macosx_x64-v2016.dmg

53457a9d431065042366b1da6baed1fe85e492d608556e3f55a3d40ca49746d7 *QtBrynhildr-windows-v2016-msvc.exe

6c2322cd31da7310d9307706f02fec100fc297e624b9378526626041483bb3ed *QtBrynhildr-windows-v2016-Portable.exe

2018年3月 5日 (月)

Ver.2.0.15 & Android版 Alpha 6 リリース

Ver.2.0.15 をリリースします。

いくつかの不具合を修正しました。

あと、パスワードが間違えていた場合に「サーバに接続」ダイアログを再表示するようにしました。
ただし、コマンドラインから指定した場合はダイアログを再表示しません。

また同時に同じソースで作ったAndroid版のAlpha 6もアップロードしました。


以下からダウンロードできます。(Windows/Linux(x64のみ)/Mac版)


https://github.com/funfun-dc5/qtbrynhildr/releases


主な変更は以下です。


[不具合修正]
・メッセージボックスがウィンドウと無関係な位置に表示される不具合修正
・「フルスクリーンで開く」をチェックし接続した時、パスワードが間違えていた場合にノーマルウィンドウモードに
戻る手段がなくなる不具合修正

[その他変更]
・Brynhildrサーバからのエラーリプライへの対応改善
・「サーバに接続」ダイアログで接続時にパスワードを間違えていた場合に「サーバに接続」ダイアログを
再表示するように変更
・ドキュメント作成ツール Sphinx をバージョンアップ(1.7.1)


-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
894fd86aa2117a3d8bd3cf5938322058a1e8deaa3eabbd5cca6ed3c600e84d15 *QtBrynhildr64-windows-v2015-msvc.exe

87665109050489401c06f5a5957b218aa928b867468921e92dc678380a919b0c *QtBrynhildr64-windows-v2015-Portable.exe

0279baf9483ddc4cfb72e86bbf86fb304daac549bfeee08f7355e0f04efb36c3 *QtBrynhildr-android-v210-alpha-20180305.apk

ef44373f5e91a2e9b32465634f57f00af1d8efb2af73a26f6be42e9de14be369 *QtBrynhildr-documents-20180305.zip

6d36a3095426a1ffc65e76f36856f78c4f8600f11ab096b7004291c531978fef *QtBrynhildr-linux_x64-v2015.run

b230ad3e8e93a62a91f2a6732e26037f2b81c70b008d87dc77898779c2013014 *QtBrynhildr-macosx_x64-v2015.dmg

3b690ab132f08a816eb78f7703bc6955721c5f2ad49fc02389c44cb1941ef47b *QtBrynhildr-windows-v2015-msvc.exe

e9b1c96c0b0abec21e9de3196a24dcd18186843390be47ad0984881cef5bea23 *QtBrynhildr-windows-v2015-Portable.exe

2018年2月23日 (金)

Ver.2.0.14 & Android版 Alpha 5 リリース

Ver.2.0.14 をリリースします。

フレームスキップ処理のパラメータ調整、SIMD命令による変換処理を利用するためのコード追加を行いました。
SIMD命令による変換はチューニング前のため標準では有効にしていませんが

onSIMDOperationSupport=false

onSIMDOperationSupport=true

とすることで試すことができます。

また同時に同じソースで作ったAndroid版のAlpha 5もアップロードしました。


以下からダウンロードできます。(Windows/Linux(x64のみ)/Mac版)


https://github.com/funfun-dc5/qtbrynhildr/releases


主な変更は以下です。


[不具合修正]
・ソフトウェア・ボタンの状態に最新の設定情報が反映されない不具合修正(タッチパネル版)

[その他変更]
・SIMD命令(SSE/NEON)の利用コードの追加(標準では無効)
・フレームスキップ処理のパラメータ調整
・ドキュメント作成ツール Sphinx をバージョンアップ(1.7.0)


(おまけ)

システムで提供されるlibvpxを利用するQt Brynhildrを作るためのパッチです。

「qtbrynhildr.pro.patch」をダウンロード

例えばUbuntuの場合libvpx-devパッケージのインストールが必要になります。


-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
6e38cd048fee02a2cdb04c0c10c01059b420cc2ba2b7ac50eb2e3dfddf0db6ee *QtBrynhildr64-windows-v2014-msvc.exe

3d382f1a5ef85aeca5efb6496d281effc2cad2fbf0312813051bdbb82520ee77 *QtBrynhildr64-windows-v2014-Portable.exe

5d15711cf8c85bfe2f32b07df24ece8cb1c8f7b4d4a9fbd4502794d3c667697e *QtBrynhildr-android-v210-alpha-20180223.apk

02d0aade9a29a3beb1fe38e36e0436882b231c971ed0eb74109e7cb1505080e1 *QtBrynhildr-documents-20180223.zip

6f90285d88c5f235ba1e04560e44e6ef0036fa0efb0052715e22c0b932fa430f *QtBrynhildr-linux_x64-v2014.run

79fac63d527d1ad0937dbda3d240c05539eeb2f54c8875278b65463e16b2c609 *QtBrynhildr-macosx_x64-v2014.dmg

d3cfc931b1c1d3c958c12fdeb0ec3d999dc8ad7815ee23fc2f4ddb1c9315815a *QtBrynhildr-windows-v2014-msvc.exe

fa7dc89a9407521d1b1ff24a05d45e4272713d3388c0bcaaea306276e77aca1b *QtBrynhildr-windows-v2014-Portable.exe

2018年2月22日 (木)

ストリーミング型ゲームをMacにストリーミングしてみる

PlayStation Now の1週間無料コードを入手したので、Windows PCにPlay Station Nowのクライアントを入れてみました。

コントローラの情報をサーバに送ってサーバ側でのゲーム実行結果を動画として送ってくるということでまさにBrynhildrが行っていることと同じような方式ですね。

さらにWindows PCにBrynhildrサーバを立てて、Mac上からQt Brynhildrで接続してどんな感じになるか試してみました。

コントローラが未対応なので実際に操作はできないのですが、多段のストリーミングになるのでやっぱり操作性に難がありそうな予感はしますね。

20180222_204431


自動更新は切ってあるので、残念ながらあと1週間しか楽しめません…(;ω;)

SonyさんがMac/Linux向けのクライアントを用意してくれたら、それが一番いいのですよね、本当は。

2018年2月18日 (日)

Ver.2.0.11 でのモード7 の改善について

2.0.11をリリースした後、Raspberry Pi 3で試しに使っていたのですがどうも重たいのでいろいろチェックしていたら、どうやら改善するための仕組みの実装がバグっていたというオチになっていました。(Ver.2.0.12では改善策が正しく動作しており動作速度が改善されていることを確認しました)

改善と言っても普通当たり前のようにやっていることをやっていなかったというだけなのですけど。

簡単にいうと「不要な処理はしない」という基本的な最適化ですね。

Qt BrynhildtはBrynhildrサーバからネットワーク経由でVP8データを受け取ります。そのデータをlibvpxというライブラリに渡してYUVというデータに変換してもらいます。次にYUVデータをRGBというデータに変換します。このRGBデータをQtに渡してQImageというオブジェクトを作ってデスクトップ画像を描画してもらいます。


VP8データ

↓ libvpxが計算してくれる

YUVデータ

↓ 自前で計算する(*)

RGBデータ

↓ Qtが変換してくれる

QImageオブジェクト


ですので、QtBrynhildrはひたすらYUVデータからRGBデータへの変換をやればいいのですが、1920x1080のデスクトップで、ある時点のデスクトップを描画する場合、このYUVデータからRGBデータへの変換を207万3600回(1920*1080回)やらなくてはなりません。最終的にはR,G,Bの3つを計算するため同じような計算をするのでトータル622万800回行うことになります。これによりようやく1フレーム分の画像データが得られます。


2.0.11までQt Brynhildrは馬鹿正直に全ピクセル分をフレーム毎に再計算していたのです…(;д;)


一般的にデスクトップ画像は大きく変化することはそんなにありません。動画を表示しているウィンドウは当然変化しますが、それ以外の部分(例えば壁紙の部分とか)は画像的に変化がない部分も多いです。

前のフレームで計算した結果(RGBデータ)が残っているなら、次のフレームの計算でYUVデータの変化のない場合は計算自体を省略できます。Ver.2.0.12以降ではYUVデータで変更のあった部分だけ再計算してRGBデータの更新を行い、これをQtに渡して表示します。

YUVデータは前回のフレーム分と今回のフレーム分の2つが必要なので、2つ分のバッファを用意しておいて交互に役割だけを入れ替えて使うようにします。(不要なデータコピーを行わないようにするため)


YUVバッファ 1 YUVバッファ 2


前回のYUVデータ 最新のYUVデータ

↓ 次のフレーム

最新のYUVデータ 前回のYUVデータ

↓次のフレーム

前回のYUVデータ 最新のYUVデータ


極端に動きの早い画像を全画面で表示するような場合には性能がやや落ちる可能性がありますが、大抵の場合必要な計算量をかなり抑えることができると思います。


この改善の結果、2.0.10 リリース記事のコメントで書いた古いCore i3 ノートPCでのダメダメな動作は普通に使える程度には改善されました。しかし、CPU負荷は30%程度と高いので少し調べてみると、どうやらデスクトップ画像の縮小処理が原因でCPUの負荷が高いことが分かりました。そこで設定ダイアログで「スケーリング処理をサーバーで行う」オプションを指定するとCPU負荷は数%にまで落ち、ようやく普通に使える状態に落ち着きました。


開発者である私でさえ、このオプションの使用に行き着くまで試行錯誤が必要だったことを考えるとオプションの選択肢を増やすだけでなく最善のオプションの組み合わせをある程度自動的に選択するような機能が必要だという結論に辿り着きました…(;ω;)

(追記)

SIMD(SSE)での改善についてもイントリンシックではありますが実装してみました。Cygwin x64のgcc-6.4では25%程度の向上がみられるのですが、Qtに付属しているMinGW(gcc-5.3ベース)でコンパイルすると逆に遅くなります。生成されたコードをみるとやはりgcc-6.4の方が洗練されたコードとなっているようですが、とりあえずここで止めておこうかと思います。どうしてもこれ以上必要になった時は手動でコーディングするということで…

2018年2月16日 (金)

Ver.2.0.13 リリース

Ver.2.0.13 をリリースします。

デスクトップ画像の描画が間に合わない場合にフレームをスキップする処理を入れ忘れてました…(ボケが始まってますね)

あと先日リリースされたQt5.10.1を使ってビルドしています。また同時に同じソースで作ったAndroid版のAlpha 4もアップロードしました。


以下からダウンロードできます。(Windows/Linux(x64のみ)/Mac版)


https://github.com/funfun-dc5/qtbrynhildr/releases


主な変更は以下です。


[新規機能]
・フレームスキップ処理実装
条件判定部分だけ作って実際にスキップするのを入れ忘れていた…

[その他変更]
・Qt5.10.1でビルドするように変更(Linux(x86)版のみ5.4.2のまま)
・ソースコードの整理


(追記:2018.02.18)

Qtのバージョンを5.10.1に変更した影響で一度Ver.2.0.13を起動、終了すると"Qt Brynhildr.ini"に保存されるウィンドウ状態の情報がQt5.10.1向けに更新されます。その後Ver.2.0.12以前のQt Brynhildr を起動する場合ウィンドウが正しく表示されないので"Qt Brynhildr.ini"を一度削除するか、"windowState="で始まる一行を削除してから起動してください。

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
526f5b9b6977951c989ae77da7a94e7bf2eeac7b08a515525787804d8c29366c *QtBrynhildr-android-v210-alpha-20180217.apk

d0d7bbdbbf53e2f95f880df661e4c215bddf885818e69a875e5673ec54d40709 *QtBrynhildr64-windows-v2013-msvc.exe

df6f701d34f604dbae639db2091974c5d5f1eb80ff4a0cdca19f99b3a4f53cc5 *QtBrynhildr64-windows-v2013-Portable.exe

d43f9cb4c1cd42ab7adddbd3c21324d0aa89a7b267c63413ca3e1c5b6bdcb8e5 *QtBrynhildr-documents-20180216.zip

f797c9a85b9681c64fdb7802a23eda6119485a3e7fbf5bc668874fe5cce803e9 *QtBrynhildr-linux_x64-v2013.run

14dd9fb556b0a2331135ffd242ff2ff9e63ee855855cdc6ffeaae09f39cf4d1d *QtBrynhildr-macosx_x64-v2013.dmg

1f2518dfcf71ffe87edd4292ab561b6f1d4b4ffa2dfd47f92e3e62f4d2ddcf25 *QtBrynhildr-windows-v2013-msvc.exe

4ec234741b27306d136ffee0882727c4190f2aa76340660797b59e64b1a38ad1 *QtBrynhildr-windows-v2013-Portable.exe

2018年2月12日 (月)

Ver.2.1.0 Android版 Alpha 3

Ver.2.0.12 ベースのAndroid 版 Alpha 3 をアップロードしました。


https://github.com/funfun-dc5/qtbrynhildr/releases


主な変更は以下です。


(1) ソフトウェア・キーボード/ボタンの表示用のタッチパネル操作改善

(2) ソフトウェア・キーボード/ボタンの透過率の変更(現在は暫定で0.8 に設定)

2018年2月11日 (日)

Ver.2.1.0 Android版 Alpha 2

Ver.2.0.12 ベースのAndroid 版 Alpha 2 をアップロードしました。

https://github.com/funfun-dc5/qtbrynhildr/releases

より以前の記事一覧

その他のカテゴリー

無料ブログはココログ
2018年3月
        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