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


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0614
実機動作、負荷テストお願いします(android)10解決


リンク

2015/6/14(Sun) 21:10:25|NO.69785

HSP3Dishで擬似3Dスプライトを使おうと頑張ってみました。
実機での動作状態と、機種ごとの負荷がどの程度のものか知りたくて
ベンチマーク的なのを作ってみました。
android端末をお持ちの方でご協力いただける方は、野良アプリ扱いで
こちらを試していただいて結果など教えていただけるとありがたいです。

http://utuckn.web.fc2.com/prog/walktest-debug.apk

動作としてはgmode変更ボタンとオブジェクト数変更ボタン、画面タッチで
カメラ位置を動かせます。

ちなみに当方の検証結果では
Nexus7(2013)とISW11Kでfpsが軽い順に60、40、30
Z1fで60、60、50位でいずれも正常動作しました。



この記事に返信する


暇暇

リンク

2015/6/14(Sun) 22:57:06|NO.69787

AQUOS305SHです

動作しました。
ですが、速度としてはオブジェクト数が増えると
すこし、動作が遅くなります。



窓月らら

リンク

2015/6/14(Sun) 23:08:42|NO.69788

擬似3Dキター!
セガ体感シリーズを思い出します。ポリゴンが主流の現在でも、この方式は大好きです。

とりあえず Nexus7 (2012) Android 5.1 で試した結果
無事に起動します。化けてるような箇所はありません。

gmodeによる速度差は感じられません。
デフォルトの状態でモードを切り替えても 60fps を維持しています。

デフォの状態だと fps:60 use:89-104 程度
ターボを1回押すと fps:46-48 use:168-180 程度
ターボを2回押すと fps:34-36 use:242-252 程度

デフォの状態でやっと 60fps を維持できてる感じですね。



窓月らら

リンク

2015/6/14(Sun) 23:18:33|NO.69789

ちなみに当方の検証としては、擬似3D、ふつうの2D問わず
単純にオブジェクト数(画像コピー命令の回数)で負荷が決まってるような感じです。
大きなオブジェクトだから重くなるというわけでも無さそうです。
なので、画像の転送数を減らす工夫をすると劇的に軽くできます。
あまり小さなパターンで画面を構成すると重くなるという事です…



K-s

リンク

2015/6/14(Sun) 23:56:01|NO.69790

INFOBAR A02、動作しました。
FPSは60、40、30くらいです。

動画撮ってみました(パスワード: hsp)
http://fast-uploader.com/file/6989847887721/

擬似3Dいいですね。



窓月らら

リンク

2015/6/15(Mon) 00:10:50|NO.69791

手持ち全てで起動できました。
左から軽い順

TM75A Android 4.0.4 ※1
fps:36-39 fps:24-25 fps:17-18

Kindle FireHD7 (第3世代) Android 4.4.3相当カスタム ※1
fps:60 fps:51-60 fps:39-44

ミクナビ RM-AT700MK Android 4.0.4 ※2
fps:39-42 fps:23-27 fps:18-19

※1:この2機種はmes命令の文字が塗り潰され正しく表示できません(フレームごとに不定)
※2:この機種でも、テクスチャ補正(hgio_uvfix(1);)をしないと文字周りにゴミが出ます。

TM75Aとミクナビは元々ゲームには向かない機種なので、あまり気にする必要は無いです。
デバッグ用にわざと低スペックの基準として用意してるものです。



リンク

2015/6/15(Mon) 22:19:17|NO.69804

検証ありがとうございました。およその動作速度大変参考になりました。
スプライト128個あたりが一般にスマホで実用できるボーダーですね。
テスト用apkは近日中に消します。

>オブジェクト数(画像コピー命令の回数)で負荷が決まってる
に関しては確かにその通りですね。現状画面構成のためにはチップ毎に
コピーする必要があり、バッファ書込み及び転送の実装を待ち望んでいるところです。
ついでにcelput及びcelputmの負荷を試してみたのですが、

#include "hsp3dish.as" #define MAX 256 ;描画個数 #module #defcfunc get_fps if timeO!=gettime(6):ans=fpsCount:timeO=gettime(6):fpsCount=0 fpsCount++ return ans #global celload dirinfo (1)+"/sample/game/face.bmp",1 celdiv 1,64,64,0,0 dim vxpos,MAX dim vypos,MAX dim vcelid,MAX repeat redraw 0 color:boxf gosub *cel1 ;← celp1:celputで描画 celp2:celputmで描画 color 255,255,255:pos 0,64 mes" fps:"+get_fps() redraw 1 await 1 loop *cel1 repeat MAX pos 0,0:celput 1,0,1,1,0 loop return *cel2 celputm vxpos,vypos,vcelid,1,MAX return
256



リンク

2015/6/15(Mon) 22:25:46|NO.69805

途中送信してしまった、失礼しました。
ほぼcelputのみの処理でも結構負荷かかっていますね。
効率的と聞いたcelputmで表示してもほぼ同速度になってしまうのですが、
スクリプト間違ってますでしょうか?



窓月らら

リンク

2015/6/15(Mon) 23:23:52|NO.69806

内部的にはやってる事はほとんど同じだと思われます。
効率化といいましても、そんなに速くならないような・・
バッファについては、私も待ち望んでいます。
これができれば、もっと軽く作れるようになるのですが(スクロールとか、文字とか)。

あとAndroid環境だと await 1 にしても画面のリフレッシュレートに合わせられて
強制的に60fpsになりますよね。(await 1 でも await 16 でも同じ)



zakki

リンク

2015/6/15(Mon) 23:32:37|NO.69807

HGIMG4でのcelputmはOpenGL呼び出しが1回にまとめられるのでオーバーヘッド減ります
通常のhsp3dishでは内部でcelputを複数回呼ぶことになるのでCPU負荷は減りますがGPUバウンドの場合はあまり速度に違いは出そうにありません

少なくともWindows版やWebGL版では #include "hsp3dish.as" の代わりに #include "hgimg4.as" とするとMAXを増やした時にcel1とcel2でfpsに違い出ます
#3.5β2時点です
#スマホ版ではベンチマーク取ってないのでどうかわかりません



空気

リンク

2015/7/22(Wed) 11:47:35|NO.70191

Xperia acro IS11Sでのテストです。(化石スペック?)

非Trubo 46-52 fps use 96-106
Trubo 1 29-32 fps use 163-180
Trubo 2 20-23 fps use 237-247

gmodeを変更しても特に変化はないようです。
文字はジャギーが出てますが、正常に描画されています。



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