2020年7月11日 (土)

Ver.2.0.93 リリース

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

Ver.2.1.0用の基本機能の修正を行いました。Android用の操作系の確認、改善をこれから行う予定です。


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


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


主な変更は以下です。


[不具合修正]
・Qt Brynhildrを再起動することなく、モード7で同じサーバに再接続した時に画面が乱れることがある不具合の追加修正
・フレーム制御処理を再実装
・ウィンドウ最小化時の通信データ削減機能の再実装
・「表示」メニューの「フルスクリーン」を実行した場合にスケーリング調整が不正となる場合がある不具合修正


[その他変更]
・Qt5.12.9でビルドするように変更(Linux(x86)版のみ5.4.2のまま)


配布しているパッケージはQt5.12.9がサポートする環境で動作します。

Windows版 : Windows 7以降
Mac版 : macOS Sierra (10.12)以降
Linux版 : Ubuntu 16.04上で作成
Android版 : Android4.1以降


-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
f5e71d79edf7c1c4b3f5628bc33771445bb09a084d05db5d7af5846543dec28d *QtBrynhildr-android64-v2100-beta-20200710.apk

697f1531984973ced4893c292f55a4e8b666e033460211ff6560b4f9afa74c07 *QtBrynhildr-android-v2100-beta-20200710.apk

9d9cace9773b95d36ffd0a0e6f8116ac39f5c156ce4110b5318963be8eb19329 *QtBrynhildr-linux_x64-v2093.run

1062a475240f39c939f6393c5118e0e0707abab13770b466823055df09c77550 *QtBrynhildr-macosx_x64-v2093.dmg

e602ba5eab0b0263dc753cf675c261ec7ca244262a2ff307c761e8fb120c4772 *QtBrynhildr-windows-v2093-msvc.exe

99f17a2f97fee1e99cdea48eb9621b1b119036d5e4ed515ab9e70ef8655a2b2a *QtBrynhildr-windows-v2093-msvc64.exe

2020年5月12日 (火)

Ver.2.0.92 リリース

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

 

モード7でデスクトップ画像が乱れる可能性のある不具合を修正しました。

せっかくなのでUbuntu 20.04版もアップデートしました。

 

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


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


主な変更は以下です。


[不具合修正]
・Qt Brynhildrを再起動することなく、モード7で同じサーバに再接続した時に画面が乱れることがある不具合修正


配布しているパッケージはQt5.12.8がサポートする環境で動作します。

Windows版 : Windows 7以降
Mac版 : macOS Sierra (10.12)以降
Linux版 : Ubuntu 16.04上で作成
Android版 : Android4.1以降

 

(追記)

ARM64版を作ってみました。

64bit ARMなAndroidデバイスを持っていないので動作確認出来ていません。

NEONを使っていないバージョンです。動作報告頂けたら助かります。


-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------

3bc39070d72ce55f7d4b0eb260945b757e442729f618e7bf724ada5108a79724 *QtBrynhildr-android64-v2100-beta-20200512.apk

c486d34651ab45be3a87ea87c27844261702f2df25fd39a3d788e8fbe79d299e *QtBrynhildr-android-v2100-beta-20200512.apk

953b2b6655faed95d57d9ae2e84e9773f64bea3390744302b2effdb112dd5729 *QtBrynhildr-linux_x64-v2092.run

72dc352d318eab1f5170a6b31d07edc4b54fe223208d9b581686dd5916aad7a1 *QtBrynhildr-macosx_x64-v2092.dmg

e4439d44925c48413c01062da001d636ef4d7699ec6aecef5a6d1002a2a1392a *QtBrynhildr-ubuntu2004_x64-v2092.run

5c324c46339ff90bc27b5da2badab1137450d4fe7002bca27d91de888d79761e *QtBrynhildr-windows-v2092-msvc.exe

ed84883c23c834e4c05ed6e9a1e247f7e1e442d6441045791de0741164ec0af6 *QtBrynhildr-windows-v2092-msvc64.exe

 

2020年5月11日 (月)

Ver.2.0.91 リリース

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

主にAndroid用のコード修正です。Nexus7(2013)での動作テストのみのBeta版(32bit)です。
お二人の方から動作報告を頂きました、ご協力ありがとうございます。詳細は当ブログのコメントを御覧ください。

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


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


主な変更は以下です。


[不具合修正]
・Android版(ARM)でCELTによるサウンドデータ転送を指定した場合に不正終了する場合がある不具合修正
・Android版で一度接続したサーバのIP/ホスト名、ポート番号が保存されない不具合修正

[その他変更]
・Android版で「デスクトップ圧縮」機能を無効化


配布しているパッケージはQt5.12.8がサポートする環境で動作します。

Windows版 : Windows 7以降
Mac版 : macOS Sierra (10.12)以降
Linux版 : Ubuntu 16.04上で作成
Android版 : Android4.1以降


Ubuntu 20.04 LTS 日本語Remix リリース記念にUbuntu 20.04版を作ってみました。
パッケージ(qt5-default, libqt5multimedia5-plugins)があれば動くと思います。

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
952176199e478d563cae2a4830e847dc6a5e0c4743e4f6df321cd06636a520fb *QtBrynhildr-android-v2100-beta-20200510.apk

6310940981e42e0f54f929c301f440b68e7365cdffb779c9fa944c68a55c5849 *QtBrynhildr-linux_x64-v2091.run

93677c68de637f5b1c9f8082a8f444fd56023dc4d2ea8b86f535e9d02df22128 *QtBrynhildr-macosx_x64-v2091.dmg

2588e2f531e7cb0e413d4b3516bb9fcfe90c818bc202dde8767aad2fb2afd137 *QtBrynhildr-ubuntu2004_x64-v2091.run

cdc83e3f3bbfa63622b9801c354822219ddf56c14a267d9847ebdda4140758ae *QtBrynhildr-windows-v2091-msvc.exe

216a39aa31b5c1e14b7c56e9ceaa58038d8c85b02d5eee0cb7b73b1b92ecf91a *QtBrynhildr-windows-v2091-msvc64.exe

2020年5月 9日 (土)

Qt Brynhildr Android版 Alpha Version クラッシュの原因

Android版で発生していた、

1. サーバのスピーカー設定が16bit/48kHzの時にクラッシュする

という不具合の原因がわかりました。

サウンドデータをCELTライブラリで圧縮したものを受け取る場合にのみ発生し、生のPCMデータを送る場合は発生しません。

 

Qt Creatorで例外発生時のアセンブルリストを見ると

 

0xaebee4fa <+ 62> 40 cc ldmia r4!, {r6}

 

という命令で例外が発生しているようです。

命令の内容は簡単に言うとレジスタr4の値が示すメモリからr6レジスタに4バイト読み込んでr4レジスタを読み込んだ分だけ進める(加算する)ということのようです。で、r4の値を見ると、最後が0x3になってます、まずいですよね。

ARMの場合4バイトデータは4の倍数のアドレスに配置されていないと一度に読み込むことが出来ません。通常コンパイラは4バイトデータを4の倍数のアドレスに自動的に配置します。しかし、なんにも考えずに以下のように書くとコンパイラは4バイトデータを一気に読み込むんだなぁと想定して上記のコードを生成してしまいます。

 

celt_int32 chunkSize = *((celt_int32 *)chunkTop);

 

Brynhildrサーバから送られてくるCELTのサウンドデータは複数のデータの塊(チャンク)で送られてきます。

 

チャンクのCELTデータサイズ(4バイト)、CELTデータ、チャンクのCELTデータサイズ(4バイト)、CELTデータ

 

という感じです。CELTデータが必ず4の倍数サイズであればいいのですけどそうでないことがあるのですね。

INTELやAMDのCPUの場合4の倍数のアドレスに配置されていない場合でも取り敢えず読み込んではくれます、ちょっと時間はかかりますけど。

 

というわけで、チャンクのCELTデータサイズ(リトルエンディアンの4バイトデータ)を読み込むために

 

celt_int32 chunkSize = *chunkTop | *(chunkTop+1) << 8 | *(chunkTop+2) << 16 | *(chunkTop+3) << 24;

 

のようなコードに書き換えました。

 

早速ビルドし直して、GitHubのパッケージを置き換えました。一気にapkのサイズが3MBほど小さくなりました…

#ああ、スッキリしました…

(追記)

Ubuntu 20.04 日本語Remix がリリースされました。ありがとうございます。

https://www.ubuntulinux.jp/News/ubuntu2004-ja-remix

 

2020年5月 8日 (金)

Qt Brynhildr Android版 Alpha Version (Ver.2.0.90相当)

Ver.2.0.90 とは別記事にしました。Qt Brynhildr Android版のalpha test versionです。

 

5月7日にリリースしたバージョンには、

1. サーバのスピーカー設定が16bit/48kHzの時にクラッシュする

2. 前回接続した時のIP/ホスト名、ポート番号などが保存されない

があったのでビルドし直しました。1.は動作するようにしましたが暫定対応です。

 

以下からダウンロードできます。

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

 

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------

9a63ab879da29bc21c3a853b38a43879e2bcd849d2e782155d0f265c86ac50b5 *QtBrynhildr-android-v2100-alpha-20200508.apk

 

2020年5月 1日 (金)

Ver.2.0.90 リリース

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

Ver.2.1.0リリースのための大きな問題はほぼ解決できたので2.0.30から一気にバージョンを上げました。

設定ダイアログのデザインを少し変えたので、以前のバージョンで「SIMD命令サポートをON」にしていた場合も"C++"による変換処理に再設定されます。
今はネットワーク速度がボトルネックになっているのでCPU負荷的には"C++", "2スレッド"あたりがいいかもしれません。
WiFi6や5Gが普及したら再検討することになるでしょう…

AVX2をサポートするCPUの場合は"SSE+AVX2"が選択できる、はずです。うちのMac Book Air (Early 2015)でしか試せてません。開発用メインマシンは実に7年前に組んだPCなのでAVX2をサポートしていないのです。


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


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


主な変更は以下です。


[不具合修正]
・ログ表示ダイアログでリセットボタンを押したときにリセットされない不具合修正
・サウンド再生の遅延及びプチノイズの発生低減
(*)サーバPCのスピーカー設定は16bit/44.1kHzを推奨

[その他変更]
・Windows版に同梱しているOpenSSL DLL(1.1.1系)を1.1.1gへ更新
・AVX2命令を利用したデコーダを追加(対応するCPUの場合のみ有効となる)


配布しているパッケージはQt5.12.8がサポートする環境で動作します。

Windows版 : Windows 7以降
Mac版 : macOS Sierra (10.12)以降
Linux版 : Ubuntu 16.04上で作成

(追記)

Raspberry Pi 3 Model B+ で作ってみましたがなんとか動いているようです。

グラフィックアクセラレーション機能はOFFのままでした。

(追記2)

2年ぶりにAndroid版(armv7)のパッケージを作ってみました。適当な署名になってます。操作系は要調整なレベルです。

Qt5.12.8で作ったのでAndroid4.1以降のようですが、Qt5.14.2ではAndroid5.0以降が対象になるみたいです。

うちのNexus 7はAndroid 6.0なのでもうしばらくテストに使えそうです。

(追記3)

Android版を試すときは、お手数ですがサーバPCのスピーカ設定を16bit/44.1kHzに変更してからお試しください。

現在ダウンロードできる版はビルドの手違いでIP, ポート番号などが保存されません。

ビルドし直して置き換える予定ですのでしばらくお待ち下さい。

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------

3d6cf79ab858f187cb0eb660426f6a68de98b9ef13184d58c793b170bcbef75c *QtBrynhildr-android-v2100-alpha-20200507.apk

4f467d7f50e38d7683ea30e141b0c2cdb1af3378d86b0483bf9f8f57dc476fbe *QtBrynhildr-linux_x64-v2090.run

b53214e362c34a46ba35641c78ebb1b3a9fee37c4be474a0eb7fbde0697a14c8 *QtBrynhildr-macosx_x64-v2090.dmg

10a204f7ebd04a1cbf1c8bea41b6ac275a26234e045cdf133cbe1a010d046016 *QtBrynhildr-windows-v2090-msvc.exe

1c1f7e209ace05025a99e8693890cfb4bda0aadf6107872da199e239542ce1ad *QtBrynhildr-windows-v2090-msvc64.exe

2020年4月21日 (火)

性能不足、ではありませんでした…

Android版の性能が出ない件全くの見当違いでした。

 

描画が間に合ってないとか言って申し訳ない > Nexus 7 (2013)

7年前のタブレットだから、と勝手に思っていました。

 

理由が判明した経緯ですが…

 

デスクトップ画像の表示が遅いことはわかっていました。テスト用のサーバPCのデスクトップサイズは1920x1080、Nexus 7の画面は1920x1200です。接続時はサーバの等倍のサイズでNexus 7に表示されます。ここでボタンパネルを表示させてfpsを確認すると20fps程度出ます。ところがピンチアウト操作を行ってデスクトップの一部を拡大表示すると途端にfpsが落ちるのです。つまり、拡大処理をしなければ7年前の古いタブレットでもまずまずの性能が出るのです。

標準の設定ではデスクトップ画像の縮小処理はBrynhildrサーバが行ってくれますが拡大処理はクライアント側に任されています。よってQt Brynhildrの拡大処理が遅いのだろうと推測しました。

で、まずは拡大処理を行わないようにソースコードを修正してからQt Creator経由で実機上で実行しました。

接続直後はこれまでどおり等倍で表示されています。次に拡大するためにピンチアウト操作を行いました。すると、普通に拡大されるのです。拡大する処理の呼び出し部分をコメントアウトしたのに…です。

そして少し調べて愕然としました。

Windows/Mac/Linuxのようなデスクトップ版とNexus 7のようなタッチパネル版で拡大する仕組みを変えていたのです。

デスクトップ版の場合はデスクトップ用の拡大処理のみ、タッチパネル版はタッチパネル用の拡大処理のみを行わなければならなかったのにタッチパネル版ではどちらの拡大処理も行うようになっていたのです。
正しくはタッチパネル版の場合デスクトップ用の拡大処理を行わないようにしなければならなかったのです。本来必要ないデスクトップ版拡大処理も行っていたため、処理が追いつかないことになっていたのです。

途中約2年のブランクがあったとはいえ2年半もこの不具合に気づかなかったとは…

 

ということで、Nexus 7 (2013)は全然悪くはありませんでした。あとは少し操作系を調整すれば、タッチパネル版(Android, iOS)がリリースできそうな気がします。やっとバージョン 2.1 に近づいたかも。

Screenshot_20200421170557

2020年4月20日 (月)

Ver.2.0.30 リリース

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

解放済みメモリへのアクセスのため不正終了する不具合を修正しました。

AVX2版はお試し用に作りました。初期設定ではSIMD命令使わないように変更したのでインストール後に設定を変更する必要があります。


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


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


主な変更は以下です。


[不具合修正]
・モード7で接続した後モード5/6で再接続しようとした場合に不正終了となる不具合修正
・モード7で接続した後SIMD命令の使用/不使用を変更して再接続しようとした場合に不正終了となる不具合修正

[その他変更]
・サーバ接続中はSIMD Operation Supportを変更できない仕様に変更
・SIMD命令(SSE/NEON)の利用コードを標準では無効に変更


配布しているパッケージはQt5.12.8がサポートする環境で動作します。

Windows版 : Windows 7以降
Mac版 : macOS Sierra (10.12)以降
Linux版 : Ubuntu 16.04上で作成

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
5650c64af5c15e4194dbc65e4b942ad9076b488ce10a06d3ff259ee029143ab4 *QtBrynhildr-linux_x64-v2030.run

97f63ef10f6f14edcad885a41b6169bd6fb8676f7503be04bd1da80657a8d907 *QtBrynhildr-macosx_x64-v2030.dmg

89ad4a7cf4f960f7e4d35831ced3f964432210b4eed7c88d80e4e2fb9fc39345 *QtBrynhildr-windows-v2030-msvc.exe

93721f10fd948e51f5f9d55ee78d0efa2a99dc35001c9ff100f9cda995e28d2e *QtBrynhildr-windows-v2030-msvc64.exe

0c66037554ea6de06c0377d23c57a5a14d0846330be2c34547d535ec310ee1d4 *QtBrynhildr-linux_x64-v2030-avx2.run

3df7c5d7a83c0b1a1233505638ebd54ca479515f5c5198475b60b6d41d42e9f5 *QtBrynhildr-macosx_x64-v2030-avx2.dmg

58aa9b019af639aa89e7e518024429e93174e3cf917fa92e030a14eaf1406ece *QtBrynhildr-windows-v2030-avx2-msvc.exe

5b6a0a6d294ef165cce328a9f9bef954d53cf2c3d15499839c844a50c870f518 *QtBrynhildr-windows-v2030-avx2-msvc64.exe

2020年4月11日 (土)

Ver.2.0.29 リリース

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

Windows版同梱のOpenSSLのアップデート(1.1.1f)、コード改善などを行いました。


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

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


主な変更は以下です。


[不具合修正]
・メニューがそれぞれのウィンドウにある場合とない場合でウィンドウの
サイズ計算が不正確となる場合がある不具合修正(Linux版のみ)

[その他変更]
・画像表示処理の改善
・PADでのマウスホイールイベントによる微小なスクロール動作への対応
・Windows版に同梱しているOpenSSL DLL(1.1.1系)を1.1.1fへ更新
・Qt5.6.3(VS2015)でのビルドエラー対応
・Qt5.12.8でビルドするように変更(Linux(x86)版のみ5.4.2のまま)


配布しているパッケージはQt5.12.8がサポートする環境で動作します。

Windows版 : Windows 7以降
Mac版 : macOS Sierra (10.12)以降
Linux版 : Ubuntu 16.04上で作成

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
b5252478600696b0c5cd2914b45d2b010edac8f1ee47376e7db6f2fa6fa64ecd *QtBrynhildr-linux_x64-v2029.run

067afa37d7a4e493e1215844a2fd7675ee85aaf4f37d546672a80cb0c86317d7 *QtBrynhildr-macosx_x64-v2029.dmg

ea30834ddd1befc3d9139b2c0cb7b7c2cb8ecc2870d70aaef2dbf5b84178d567 *QtBrynhildr-windows-v2029-msvc.exe

77b6bbfda6ced4d9de711195d66de38ab2f2e5509e2c54a7420a0e96193fa830 *QtBrynhildr-windows-v2029-msvc64.exe

2020年3月23日 (月)

Ver.2.0.29-rc2 リリース

Ver.2.0.29-rc2 をリリースします。

Windows版同梱のOpenSSLのアップデート(1.1.1e)、コード改善などを行いました。


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


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


主な変更は以下です。


[不具合修正]
・メニューがそれぞれのウィンドウにある場合とない場合でウィンドウの
サイズ計算が不正確となる場合がある不具合修正(Linux版のみ)

[その他変更]
・画像表示処理の改善
・PADでのマウスホイールイベントによる微小なスクロール動作への対応
・Windows版に同梱しているOpenSSL DLL(1.1.1系)を1.1.1eへ更新


配布しているパッケージはQt 5.12.7がサポートする環境で動作します。

Windows版 : Windows 7以降
Mac版 : macOS Sierra (10.12)以降
Linux版 : Ubuntu 16.04上で作成

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
c54ef1cc9f36abe9575c94ff9a3f3f1f6c8a572a7ab20550101a90ff63c7ccde *QtBrynhildr-linux_x64-v2029-rc2.run

a7f38e417543882c65e6efc10a20d498fdea668835c8a150f61055ff47dcfcfe *QtBrynhildr-macosx_x64-v2029-rc2.dmg

16891e982574e903d5e963c652f22dee71c1ff4c2aa8d22cca25927c8f928e13 *QtBrynhildr-windows-v2029-rc2-msvc.exe

576fd5be847070d3d3c3a8cbfc105f10fa7da355546c1c0a5d643ca9915566cc *QtBrynhildr-windows-v2029-rc2-msvc64.exe

«「Qtオープンソース版(LGPL)使用における変更について」

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