Volcanoscar / emo-framework

Automatically exported from code.google.com/p/emo-framework
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

window collapses after restarting app several times on Galaxy S #1

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
こんにちわ。スプライトが白くなる症状が発生したため投��
�します。
環境はGalaxy SのAndroid2.3.3で実行しています。

タイトル画面やゲームへの切り替えをemo.Stage().loadを途中で
呼ぶことで切り替えられないかテストをしていましたが
同じテクスチャを使用するスプライトは白くなってしまい��
�した。
添付したファイルを実行してもらえれば分かると思います��
�
違うテクスチャを使用するものに切り替えた場合は問題は��
�ません。

ついでにですが私の環境ではAndroid-Examplesのサンプルで
たまに画面がブラックアウトします。あとGalaxy 
Sでは戻るボタンに
ちょっと触れただけで反応してしまうため無効化出来ると��
�かります。

Original issue reported on code.google.com by sat...@gmail.com on 24 Aug 2011 at 8:55

Attachments:

GoogleCodeExporter commented 9 years ago
スプライトが白くなる現象を確認しました。

ブラックアウトについては難しいですね。Galaxy S 
とスペックがほぼ変わらないと思われる Galaxy Tab 
で見ていますが、現象が確認できていません。

なお、戻るキーは以下のようなコードを書くことで無効化��
�きます。true 
を返すことでデフォルトの処理(アプリ終了)に移らない��
�うにできます。この場合戻るボタンで終了できないのでア�
��リの終了処理は自分で実装する必要があります。

function onKeyEvent(kevent) {
  if (kevent.getKeyCode() == KEYCODE_BACK) {
    return true;
  }
  return false;
}

Original comment by infosia...@gmail.com on 24 Aug 2011 at 11:06

GoogleCodeExporter commented 9 years ago
スプライトが白くなる件を修正しました。
以下のバイナリで確認してみてください。

http://code.google.com/p/emo-framework/source/detail?r=1135

Original comment by infosia...@gmail.com on 24 Aug 2011 at 2:22

GoogleCodeExporter commented 9 years ago
修正ありがとうございます。

修正バイナリを試してみましたがスプライトがちゃんと表��
�され
こちらで行っていたテストもうまく行きました。
また戻るボタンの無効化もうまくいきました。
あと一つ気になる点としてDrawing a Spriteサンプルで
スプライトを拡大していくと枠の部分にノイズが出ます。
UVを0.5テクセルずらしたりすると直るのかもしれませんね。

ブラックアウトするのはサンプルを上から順番に実行して
Loading ScreenとSplash Screenを繰り返したりしてると
起きやすいです。Loading Screenで起きやすいですが
他のサンプルで起きたりもします。
一旦ホームに戻ってまたサンプルに戻ると一瞬ローディン��
�の
画面が出ますがすぐブラックアウトします。
戻るボタンを押すとアプリケーションが終了する場合と
まったく無反応の場合とあります。
同僚のGalaxySでも同じように発生しました。
今のところサンプルを触っているとブラックアウトが100%発�
��します。

Original comment by sat...@gmail.com on 25 Aug 2011 at 2:39

GoogleCodeExporter commented 9 years ago
MEDIASで試したところ問題は起きませんでした。
GalaxySではエラーが発生していました。
08-25 12:55:34.246: ERROR/Surface(16645): surface (identity=1985) is invalid, 
err=-19 (No such device)

上記のエラーはDrawing a 
Spriteを実行して戻るボタンを押した時に出るもので
3行分出ていました。この3行のエラーはどのサンプルから戻
っても出るようです。
MEDIASではこのエラーは発生していません。

Original comment by sat...@gmail.com on 25 Aug 2011 at 4:01

GoogleCodeExporter commented 9 years ago
ホームから戻った場合のテクスチャの処理を改善しました��
�
おそらく No such device 
のエラーは直っていないと思いますが、
以下のバイナリを試してみてください。

http://code.google.com/p/emo-framework/source/browse/trunk/Emo-Android/libs/arme
abi/libemo-android.so?spec=svn1137&r=1137

Original comment by infosia...@gmail.com on 25 Aug 2011 at 11:06

GoogleCodeExporter commented 9 years ago
試してみましたが以前は順番にサンプルを実行していくとLo
adingScreenで
ほぼ確実に止まっていましたが今回はSplashScreenで止まる感��
�です。
SplashScreenで止まらなくてもまた上からサンプルを実行して��
�ると
どこかで止まります。前より止まらなくなったかと言うと��
�り変わらない感じがします。

現象としては前回同様ブラックアウトで戻るボタンも効い��
�いないように見えます。
アプリケーションの管理から強制終了する以外ではアプリ��
�再起動不能になります。
No such deviceのエラーは消えていませんでした。

Original comment by sat...@gmail.com on 26 Aug 2011 at 2:36

GoogleCodeExporter commented 9 years ago
Drawing a 
Spriteサンプルでスプライトを拡大していくと枠の部分にノ��
�ズが出る件を修正しました。またアプリ終了時にディスプ�
��イのステータスをチェックするようにしました。No such 
device 
が直っているかどうかは確認できないのですが、お試しく��
�さい。

http://code.google.com/p/emo-framework/source/browse/trunk/Emo-Android/libs/arme
abi/libemo-android.so?spec=svn1142&r=1142

Original comment by infosia...@gmail.com on 27 Aug 2011 at 12:10

GoogleCodeExporter commented 9 years ago
試してみましたがスプライトの枠のノイズは解消していま��
�た。
ブラックアウトして止まる症状のほうは前と同じで特に
改善した部分は見られませんでした。
あと一応報告ですがGalaxySではサンプルやかわずたんたたき�
��含め
55fps辺りまでしかfpsが出ないようです。

Original comment by sat...@gmail.com on 28 Aug 2011 at 4:02

GoogleCodeExporter commented 9 years ago
そうですか・・・残念です。
こちらの端末で再現できれば直せそうな気がするのですが��
�。

どうも私の端末(Galaxy 
Tab)はエラーにならないのですが、たまに OpenGL 
の画面ステータスがおかしくなることがあり、その部分を��
�策したものをアップロードしました。
何度もご協力ありがとうございます。

http://code.google.com/p/emo-framework/source/browse/trunk/Emo-Android/libs/arme
abi/libemo-android.so?spec=svn1146&r=1146

参考までに fps ですが、かわずたんたたきは iPod touch 4G で 
60fps、初代 Galaxy Tab で 45〜50fps、au IS12SH で 55fps 
ぐらい出ているようです。Android 
は機種間の差異が大きいのでゲーム作りはいろいろ工夫が��
�要そうですね。

Original comment by infosia...@gmail.com on 28 Aug 2011 at 8:04

GoogleCodeExporter commented 9 years ago
試してみましたが止まるのもNo such 
deviceが出るのも変わらずでした。
あと土日は閉店までパチスロしてたため対応出来ませんで��
�たが平日なら
会社の業務時間内に確認出来ますのでバイナリの検証に協��
�しますよ。
次のテストが必要でしたらまたバイナリをアップしてくだ��
�い。

Original comment by sat...@gmail.com on 29 Aug 2011 at 3:11

GoogleCodeExporter commented 9 years ago
再現率は低いですが、エミュレータで再現できることが分��
�りました。

アプリが止まるのは、たまにウインドウが作成されないか��
�のようです。その部分は Android 側 
に全てを依存している部分なので、今はどうしようもない��
�でとりあえずアプリを無言で終了させるようにしました。�
��秒待って ANR 
イベントを起こすこともできますがどちらがいいでしょう��
�ね?どちらにせよ動かないので無言で落とす方がストレス�
��少ない気がします。

no such device 
の方は場所は特定できていますが回避策が分かっていませ��
�。アプリ停止の原因ではないようなのでとりあえず放置す�
��つもりです。

上記の修正をしたものをアップしました。
http://code.google.com/p/emo-framework/source/browse/trunk/Emo-Android/libs/arme
abi/libemo-android.so?spec=svn1150&r=1150

Original comment by infosia...@gmail.com on 29 Aug 2011 at 12:49

GoogleCodeExporter commented 9 years ago
どうも問題は根が深いようで、一度ウインドウが壊れると��
�プリを強制的に終了しないとウインドウが復活しないこと�
��分かりました。さきほどの修正はいけてないので使わない
ようにお願いします。。。

よろしくお願いします。

Original comment by infosia...@gmail.com on 29 Aug 2011 at 1:57

GoogleCodeExporter commented 9 years ago
壊れたウインドウの復活は難しそうなので、ブラックアウ��
�した際にバックボタンが効くようにしました。タイミング�
��よって強制終了ダイアログが出る場合とでない場合があり
ます。

http://code.google.com/p/emo-framework/source/browse/trunk/Emo-Android/libs/arme
abi/libemo-android.so?spec=svn1153&r=1153

Original comment by infosia...@gmail.com on 29 Aug 2011 at 11:01

GoogleCodeExporter commented 9 years ago
試してみましたがどうも何も変わっていないようでした。��
�ラックアウトしたさいに
戻るボタンもまったく反応がなくアプリの強制停止以外再��
�動しないのも変わりません。
数回試しましたが強制ダイアログというのは一度も出ませ��
�でした。
また止まる箇所はLoading Screenが多いです。
あとスクリプトからライブラリのバージョン情報って取れ��
�せん?
ライブラリがちゃんと更新されたのか確認と将来emoカスタ��
�を扱う事があった場合に
オリジナルと区別したいので。

Original comment by sat...@gmail.com on 30 Aug 2011 at 1:46

GoogleCodeExporter commented 9 years ago
なるほど。厳しいですね。

ライブラリのバージョンを取得できるようにしました。

http://code.google.com/p/emo-framework/source/detail?r=1154

print(emo.Runtime.version()); で、現在だと "0.1.4 build 7" 
と表示されます。
バイナリのバージョンは最後の build 
以下の数値になります。

runtime.nut も更新しているのでこちらも更新してください。

Android 版だと更新すべきファイルは以下です。
assets/runtime.nut
libs/armeabi/libemo-android.so

Original comment by infosia...@gmail.com on 30 Aug 2011 at 3:15

GoogleCodeExporter commented 9 years ago
症状に変化はありませんでしたが"0.1.4 build 
7"と表示させる事が出来ました。
拡張ありがとうございます。
またLoading 
Screenで止まった時に下記のエラーが出ていましたので張っ��
�おきます。
08-30 12:27:14.925: ERROR/EmoFramework(6572): Application gained focus but 
window equals NULL: ANR.

Original comment by sat...@gmail.com on 30 Aug 2011 at 3:33

GoogleCodeExporter commented 9 years ago
ブラックアウトした際にエンジンの後処理と Activity 
のシャットダウンをかけるようにしました。エミュレータ��
�はウインドウが壊れたままになって結局プロセスを殺さな�
��とウインドウが復活しないのですが、Galaxy S 
ではどうなるでしょうか?

http://code.google.com/p/emo-framework/source/detail?r=1156

Original comment by infosia...@gmail.com on 31 Aug 2011 at 3:55

GoogleCodeExporter commented 9 years ago
Drawing a 
Shapeを起動させた瞬間エラーが出ました。どのサンプルも動
かないようです。
エラーログを添付します。
エラーが出た後もリストビューだけは動かせます。

Original comment by sat...@gmail.com on 31 Aug 2011 at 6:00

Attachments:

GoogleCodeExporter commented 9 years ago
なるほど、効果がなかったということですね。
検証ありがとうございます。

ライブラリを、元に戻しておきました。
http://code.google.com/p/emo-framework/source/detail?r=1157

Original comment by infosia...@gmail.com on 31 Aug 2011 at 9:43

GoogleCodeExporter commented 9 years ago
この Issue 
はブラックアウトの問題だけが残っているので、タイトル��
�変えました。

Original comment by infosia...@gmail.com on 2 Sep 2011 at 2:19

GoogleCodeExporter commented 9 years ago
サンプルを実行して戻るボタンを押した時に出る Surface (No 
such device) の対策をしたものをコミットしました。Galaxy Tab 
ではエラーがでなくなり、シミュレータでも頻度が減った��
�うです。お試しください。

更新すべきファイルは以下です。
libs/armeabi/libemo-android.so

http://code.google.com/p/emo-framework/source/detail?r=1228

Original comment by infosia...@gmail.com on 16 Sep 2011 at 11:14

GoogleCodeExporter commented 9 years ago
了解です。現在TGS出張中のため確認は
明後日になります。少々お待ちください。

Original comment by sat...@gmail.com on 16 Sep 2011 at 2:10

GoogleCodeExporter commented 9 years ago
確認してみました。
emo-framework-0.1.4.14のAndroid-Examplesのlibemo-android.soを上書きでテ�
��ト。
エラーが出るのは変わらず、ブラックアウトする場所も変��
�らず。

09-18 13:58:54.242: ERROR/Surface(11098): surface (identity=875) is invalid, 
err=-19 (No such device)

また今回のlibemo-android.soを上書きすると初回起動は問題無い
ですがスクリプトを
何か書き換えて実行すると次から全てのサンプルが起動し��
�くなります。
スクリプトの変更をUndoしてもサンプルが起動出来ない状態�
��なってしまいました。
libemo-android.soを戻すと正常に起動出来ます。エラーを添付し
ておきます。

Original comment by sat...@gmail.com on 18 Sep 2011 at 5:06

Attachments:

GoogleCodeExporter commented 9 years ago
いつも確認ありがとうございます。ウインドウの終了イベ��
�トより先にウインドウが破棄されてしまう場合があるよう�
��す。対策したものをコミットしましたので、これで試して
頂けますでしょうか?

http://code.google.com/p/emo-framework/source/detail?r=1232

Original comment by infosia...@gmail.com on 18 Sep 2011 at 9:22

GoogleCodeExporter commented 9 years ago
試してみました。各サンプルを実行してもちゃんと動くよ��
�になりました。
ブラックアウトするのとNo such 
deviceが出るのはそのままでした。

Original comment by sat...@gmail.com on 19 Sep 2011 at 6:33

GoogleCodeExporter commented 9 years ago
確認ありがとうございます。
こちらのものではいかがでしょうか?

http://code.google.com/p/emo-framework/source/detail?r=1237

Original comment by infosia...@gmail.com on 19 Sep 2011 at 7:42

GoogleCodeExporter commented 9 years ago
確認しました。
No such 
deviceの表示は出なくなりブラックアウトもしなくなりまし��
�。
他のエラーも出ていないのでこの件に関しては修正完了だ��
�思います。
対応ありがとうございました。

Original comment by sat...@gmail.com on 19 Sep 2011 at 10:38

GoogleCodeExporter commented 9 years ago
ついに直りましたか(^^ 
何度もご確認ありがとうございました。近々新しいバージ��
�ンをリリースしたいと思います。

Original comment by infosia...@gmail.com on 19 Sep 2011 at 11:27