性能不足、ではありませんでした…
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 に近づいたかも。
最近のコメント