HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
0618
jsAster[hsp3dish]Androidでブロック崩しを作ったがどうにも重すぎる12解決


jsAster

リンク

2017/6/18(Sun) 22:09:25|NO.80298

題名の通りです。
Windowsでは問題なく常時60fpsで動くのですが、
ドロで動かすと2fpsくらいに下がります。
心あたりはddimで変数を10,000以上初期化していたりブロックの数が非常に多いことですが、
ブロック消えても重いし変数減らしても重いしBGMのサンプリング下げても重いしでよく分かりません。

Androidは実数苦手なのでしょうか。

※実数は三角関数つかうので使わないわけにいきません。



この記事に返信する


窓月らら

リンク

2017/6/18(Sun) 22:20:01|NO.80299

hsp3dishでいちばん重くなる理由はオブジェクト(描画)の数だと思います。
実数は恐らくあまり関係ないと思われます。
文字表示を標準のmesでやってると、これまたかなり重くなります。
すべてグラフィックで処理したほうが速いです。



jsAster

リンク

2017/6/19(Mon) 07:00:53|NO.80304

文字はなく、ブロックが少なくても重いです。

Gradfが重いのでしょうか…。



Tsubame

リンク

2017/6/19(Mon) 09:06:15|NO.80305

実際のプログラムを見れないので、デバッグ方法提案しかできませんが、

・ほとんど処理を行わないプログラムのfpsを表示してみる
・懸念されているGradfの変わりにboxfで描画してみる
・fpsを表示する機能を無くす
・fps以外の描画を全てコメントアウト
・BGM関連の行を全てコメントアウト

など、もし試されていないものがあれば、1つずつお試しください。



jsAster

リンク

2017/6/19(Mon) 16:57:59|NO.80306

とりあえずコメントアウトラッシュしてみます。

fpsは体感です。



jsAster

リンク

2017/6/19(Mon) 20:11:49|NO.80311

ブロックを90x72個描画しているのが関係しているみたいです。

boxf代替ってできますか??



jsAster

リンク

2017/6/19(Mon) 21:36:56|NO.80313

Androidで動かすときはawaitの数値は16でいいですかね?



窓月らら

リンク

2017/6/19(Mon) 23:44:34|NO.80316

90x72 = 6480
これは多すぎます。1000以下くらいにしないと多くの環境でまともに動きません。
画像の大きさより、転送の数が影響します。
また、boxf のほうが恐らく重くなります。

await 16 は問題ありません。



jsAster

リンク

2017/6/20(Tue) 06:48:52|NO.80317

そうですか…。ただブロック0でも重いんですよね。

450x800解像度をスケーリングしてるのですがそれは関係ないですよね?



窓月らら

リンク

2017/6/20(Tue) 13:15:32|NO.80321

スケーリングは私が試した限りではあまり影響しません。
数個のオブジェクトが動く程度のシンプルなテストアプリを作って
検証することをおすすめします。



jsAster

リンク

2017/6/20(Tue) 22:19:33|NO.80325

結局あまり分かりませんでした。
WindowsではDishの速度とGPUは大きく関係してきますか?



窓月らら

リンク

2017/6/21(Wed) 01:54:43|NO.80329

Windowsのdishは相当余裕がありますので、
こちらを基準に開発してしまうと、Androidで重くて使い物にならなくなります。
最低限のコードで試して、Android上でも問題なく動作するか確認するほうが先かと思います。



jsAster

リンク

2017/6/21(Wed) 07:42:37|NO.80334

そうですね。諦めます。



ONION software Copyright 1997-2021(c) All rights reserved.