CLDC+MIDP+携帯電話用 ..
[2ch|▼Menu]
304:デフォルトの名無しさん
08/06/14 00:06:55
WiiとかX箱みたいなコンシュマー機はハードの応答速度にバラつきがほとんどない
(かまたは一定にできる仕組みがある)からいくらでも対応できるのよ・;(`ε()゙

305:デフォルトの名無しさん
08/06/14 02:10:30
>>302

多分違うよ
>>296が言ってるのはM$のダンジョンシージに違いない
あのゲームは例えマルチプレイ時でも、
ゲーム起動時以外はロードが存在しない

306:デフォルトの名無しさん
08/06/14 08:08:25
別にFF7だってドラクエ7だって先読み満載じゃねーか

307:デフォルトの名無しさん
08/06/14 17:12:12
ローディングが画面として存在するかしないかの話だろ
流れ読めよ・;(`ε()゙

308:デフォルトの名無しさん
08/06/14 18:42:40
>>306 は先の先。いわゆる400レス目あたりの話をしているんだよ

309:デフォルトの名無しさん
08/06/15 05:47:44
自作javaアプレットのオープンアプリへの移植を考えてるんだけど
floatとかの実数型を使いまくってる状況です
やっぱ重いだろうか?

float多用したACT/STGの類の開発経験が有る方、
体感速度とかどんな感じでした?

310:デフォルトの名無しさん
08/06/15 13:00:08
そんなもん気にすんな。

311:デフォルトの名無しさん
08/06/15 14:16:48
突然ですが質問させてください。。。
キーイベントについてです。

keyPressdメソッドと、keyRepeatedメソッドの処理を全く同じにしたところ、
キーを押しっぱなしにしたときのキャラの移動が、押した瞬間に動いたあと、一呼吸おいて移動します。。。

「→、、→→→→→」
イメージとしてはこんな感じでしょうか。。。

この移動を滑らかにするには、どういう方法で対処できるのでしょうか。。。

312:デフォルトの名無しさん
08/06/15 14:22:06
>>311
GameCanvas使ってる?

313:デフォルトの名無しさん
08/06/15 14:35:48
>309
1フレーム描画に何千回も計算するような箇所は固定小数点に置き換えたほうがいい。
ベクトルの正規化を多用する場合もsqrtの逆数は自作すべき。
float精度のニュートンラプソン法の初期値を一発で求めるトリッキーな方法がある。

314:デフォルトの名無しさん
08/06/15 14:45:01
>>312

いえ、使ってないと思います。。。
なにせjavaを始めたばかりで無知なもので。。。

いろいろとググってみて、分からなかったらまた質問させていただきます。
即レスサンクスでした。

315:デフォルトの名無しさん
08/06/15 16:24:46
>>311
keyRepeaedの意味はわかってるかな?
押しっぱなしにされたとき、一定間隔で呼ばれるものだ。

2chに書き込む時、キーボードのキーを押しっぱなしにすると
「あ、、あああああああああ」
って感じになるだろ?
同じもんだ。

keyPressedで押されたというフラグを立て、keyReleased(Repeatedにあらず)でフラグを解除。
という処理だけつくり、実際にキャラを動かすのはゲームスレッドで行なう。
ゲームスレッドでは、時間で定期的に処理を進める



316:デフォルトの名無しさん
08/06/15 16:49:28
GameCancas#getKeyStates を使うのが楽だと思う
ゲームキーしか取得できないが。

Softbank専用で数字キーとかの状態を調べたかったらDeviceControl使えばいい。

317:デフォルトの名無しさん
08/06/15 21:46:03
DeviceControlってソフトキーも取得できるけど、端末によって左右が違ったりするの?

318:309
08/06/16 01:05:48
>>313
やっぱ置き換えた方がいいよね
実機である程度の体感速度が得られれば良いんだけど
もう面倒くさいから実数型のままで移植してみる

319:デフォルトの名無しさん
08/06/16 21:37:14
オープンアプリ対応機って今のところ速度差無さそうだしな
ソフバンも3Gになってからは、解像度差による描画レート以外そんな変わんないよな?
海外だとMIDP2.0/CLDC1.1でも凄いスペックのがある
画面128x96とかヒープが512kとか、そんなんに実数演算させんなw

320:デフォルトの名無しさん
08/06/16 21:40:32
>>319
つまり何が言いたいんだ?

321:デフォルトの名無しさん
08/06/16 23:01:01
機種ごとに差がないんだから、とりあえず実数で組んでみて速度確かめたらいんじゃね?
2行目以降は、「ところでよ」って話で確かに分からんな。すまん

322:デフォルトの名無しさん
08/06/17 17:05:22
SoftBankでタッチパネル対応機種の一覧ってありますか?
独自APIじゃなくてpointerPressed()とかで座標を拾えるんでしょうか

323:デフォルトの名無しさん
08/06/17 18:15:39
StorageConnectionを使用してネットワーク経由で
取得したjarファイルを端末に保存してアプリ内でリソースとして
展開するアプリを考えているのですが、jarファイル内のリソースの
暗号化などを施したほうが良いのでしょうか?

ちなみにjarは、んぱか氏のファイル結合ツールを使用してtxtや
jpgなどをjarでまとめようと思っております。

■ファイル結合ツール
URLリンク(www.saturn.dti.ne.jp)

324:デフォルトの名無しさん
08/06/17 18:31:28
ヒープが足らないって落ちじゃないだろうな?

325:デフォルトの名無しさん
08/06/17 19:12:53
すみませんが、エミュだと試せないので、
FEPControlについて教えて下さい。

初期表示される文字列を、
クリアキーで全て削除して、
さらにクリアキーを押した場合は、
getInputText()から何が戻ってくるのでしょうか?

String str = "テスト";
FEPControl fc = FEPControl.getDefaultFEPControl();
str = fc.getInputText(str,TextField.ANY,100,false);


326:デフォルトの名無しさん
08/06/17 21:49:01
>>322
SoftBankでタッチパネル対応機種なんてなかったと思うけど・・・(Xシリーズ除く)。
Vodaの時代にも無かった気がする。
Jの時代にはパイオニアが出してた気がする。

うん。適当でごめん。

327:311
08/06/17 23:40:26
>>315
亀ですいません。。。

なるほど、そういう方法があるんですね!
キーが押されて離されてなかったら、押しっぱなしということですか

ありがとうございました!

328:デフォルトの名無しさん
08/06/18 00:34:48
エミュと実機ではキーの反応・動作が大分違う場合があるから気をつけるんだ

329:デフォルトの名無しさん
08/06/18 02:16:55
>>325
P5,P6で、null がかえってきた記憶がある。
はじめっから null が来ても "" が来てもおkなように作っときゃ問題ないけどね。

330:325
08/06/18 13:01:34
>>329
レスありがとうございます。

""とnullの処理を入れて、3Gの実機を持っている人に試してもらったところ、
端末によって挙動が違うようでした。

・初期表示の文字が全部消えると、クリアキーは無効。文字入力処理は続行してます。
・クリアキーでFEPの入力画面が消え、getInputText()から戻って来ない。文字入力も出来ない。

2番目はハング状態のようです。getInputText()の引数で回避できるのでしょうか?orz


331:325
08/06/18 14:05:08
自己レスです、解決しました。

getInputText()で、クリアキーを押下した際に、
RuntimeException が発生する事が分かりました。

これを、catchしてなかったのが原因のようです。
お騒がせしました。

332:デフォルトの名無しさん
08/06/18 21:17:22
>325 解決してるようだけど、自分が知ってることを書いてみる。
P5のアプリを作ってた頃の調査結果。

FEP起動後、編集操作中にユーザーが[取消]を押すと
「編集内容を取り消すか? YES/NO」のダイアログが出る。

そこでYES(編集取消)を押すとFEPは例外エラーを発生して終了する。
クリアキー押下でも何でも、とにかく編集を中断したら例外エラーが出る。

従ってFEP起動処理はtry-catchでくくるようにする。
ついでに、編集確定でFEP終了したのか、キャンセル操作で終了したのか、
フラグを立てておくとその後の処理で役に立つかも。

333:325
08/06/19 18:39:37
>>332
javadocの getInputText()には、
IllegalArgumentException の記述しかなくて、
RuntimeException が発生していたとは、なかなか気が付きませんでした。
検索しても情報が少なく orz

>とにかく編集を中断したら例外エラーが出る。
>フラグを立てておくとその後の処理で役に立つかも。

との事なので、FEP起動処理はtry-catchでくくり、
キャンセルされたら、元の文字列に戻すようにしました。

どうもありがとうございました。


334:デフォルトの名無しさん
08/06/19 19:48:57
>>323
スクラッチパッドに保存するだけなら取り出せるわけじゃないから暗号化はいらんが
スマートメディアのOtherDocumetあたりの外から見えるところに見られたくない物を置くなら
暗号化が必要だな。
ただ、Storageとio両方にアクセスできるように設計すると、素人アプリはコンテンツアグリゲータに
上げる時にハネられると思うぞ。
URLリンク(ac-admin.appget.com)

335:323
08/06/20 02:55:19
>>334
やはりOtherDocumetだと暗号化は必須でしたか。
リソースの取得方法を再度検討してみます。
ご返答ありがとうございました。

336:デフォルトの名無しさん
08/06/20 09:29:38
Dojaの話で悪いが、某◯貝獸物語のリソースがSD-BindingでJARだったから、普通に解凍して取り出しが出来た。SD-Bindingはピュア バイナリぽいね。

必要があれば暗号化かければ良いけど、単純なジャミングならInputStreamとOutputStream辺りを継承して、上位と下位の4bitを入れ換えて取り扱うStreamクラスを作るのが楽なんじゃないかな。

337:デフォルトの名無しさん
08/06/22 00:13:25
Dojaなら専用スレあるだろ....

338:デフォルトの名無しさん
08/06/22 00:45:05
>>337
上の話は余談で下の話が実際言いたかったことじゃないの?

339:デフォルトの名無しさん
08/06/22 01:23:47
>>336
EncryptionAttributeを立ててないだけ。
単に忘れたか、それとも速度が厳しかったかのどちらか。

>>335
んぱかに暗号化のサンプルが載ってるな。
URLリンク(www.saturn.dti.ne.jp)

340:デフォルトの名無しさん
08/06/24 00:50:26
Sアプリのレコードストアが3Mにアップしたね

341:デフォルトの名無しさん
08/06/24 00:55:50
それに引き換え32kbの

342:デフォルトの名無しさん
08/06/24 23:27:45
ソフトバンクの動向とか見てると
自由度の極端に低いauの糞仕様も
新OSの普及と共に緩和されそうだね

343:デフォルトの名無しさん
08/06/25 00:28:23
OS?

344:デフォルトの名無しさん
08/06/25 01:50:46
>>342
詳しく

345:デフォルトの名無しさん
08/06/26 00:24:04
国内でも流行り出したWindowsMobileとか
新OSのAndroidの事を指してるんでしょ多分
どっちもjava動くし実現度・自由度だって高いはず



346:デフォルトの名無しさん
08/06/26 01:10:15
Androidでjavaが動くって表現はなんか違う希ガス。
Androidは新らしく出現したjava環境でJavaMEのリソースは
殆ど流用できないんじゃまいか(外部apiに殆ど依存していな
い抽象ライブラリとかを除いて)
URLリンク(blogs.sun.com)
↑このブログ主JavaMEの伝道師らしいがAndroidには攻撃的だ。


347:デフォルトの名無しさん
08/06/26 17:58:40
AndroidはOSじゃないし
、WMはスマートフォンが主だから活躍の場が違うと思う
普通に住み分けがされるだけじゃないかな

348:デフォルトの名無しさん
08/06/26 18:11:28
Androidは開発環境がJava SE5.0+αだからME関係ないな。
スマートフォンにはCLDC+MIDPじゃなくてCDC+PP積んでほしい。できればAGUIも欲しいが。

349:デフォルトの名無しさん
08/06/26 22:56:38
Java SEのライブラリは使えないよ
開発環境やコンパイラを流用して最後に実行コードをDalvik用に変換するだけ
ずるいと言えばずるい

350:デフォルトの名無しさん
08/06/26 23:10:51
質問があるんですが…
WTKのfillTriangle()はJavaSEのawtと同じ仕様なんですが
MEXAエミュレータでは右下方向に1pixel拡大されるようです
手持ちの実機でも同様でした
これはSoftBank共通仕様と考えていいんでしょうか?

351:350
08/06/27 02:22:50
すみません。自己解決しました

WTKのエミュレータでは隣接する三角形のエッジを共有せず、MEXAは共有する仕様のようで
どちらもMIDPの実装としては有りのようです
両方に対応するため、起動時にテスト描画してエッジの色を調べることにしました

352:デフォルトの名無しさん
08/06/27 05:15:26
アプリゲットが2G対応を2007年10月末に終了させていたことに、
今更ながら気づいたぜ。

これって、
もはや一般クリエータは2G端末(P4,P5,P6)向け配信を
(既存アプリ含め)一切できないってことだよね?

353:デフォルトの名無しさん
08/06/27 12:33:13
>>352
他は?
URLリンク(developers.softbankmobile.co.jp)

354:352
08/06/28 02:38:17
アプリLiveもとっくに終わってるものだと思ってたけど、
一応ゲームチャンネルとしてまだ残ってたのね、、thx

355:デフォルトの名無しさん
08/06/28 18:59:46
最近DocomoのAPIを分けるやり方が一番賢い気がしてきた
無駄に制限だらけのauとSoftbankなんて潰れてしまえ・;(`ε()゙

356:デフォルトの名無しさん
08/06/28 20:50:14
海外MIDP端末とwillcomは自由だぞ

357:デフォルトの名無しさん
08/06/30 20:51:44
S!アプリを作っているのですが、703SHにてOutOfErrorが出てしまいます。
OutOfErrorなのでリソースを削るのが定石だと思うのですが、
実機でRuntime#freeMemory()とRuntime#totalMemory()を使ってメモリ状況をモニタリングしていると、
突然freeMemory()が増える(使用メモリが減る)タイミングがあります。
起動時に大きくリソースを読み込み、4MBのヒープの3.7MB前後をしばらく推移し、
その状態でリソースを読み替えの場面を行き来するとOutOfErrorが起きやすいのですが、
freeMemory()が増えたあとは2Mあたりを推移し、上記場面でのOutOfErrorは今現在発生していません。
freeMemory()が増えるタイミングまちまちで、大きくリソースを読み込んだ後1・2分程放置することで基本的になります。
この時に起きているであろう解放を明示的に起こす方法はありますでしょうか?
読み込み時は1ファイル毎にSystem.gc()を読んでおりますが、効果はありませんでした。
MEXA Emulator及び905SHでは、大きくリソースを読み込んだ後から既に2Mあたりを推移すると言う状況です。
何かご存知でありましたらご教授をお願い致します。

358:357
08/06/30 21:01:04
MicroEdition-Profile: MIDP-2.0
MicroEdition-Configuration: CLDC-1.1
MIDxlet-API: JSCL-1.2.2
を対象に開発を行っています。
他不足情報があるかもしれませんが、恐れ入りますがよろしくお願い致します。

359:デフォルトの名無しさん
08/06/30 21:45:58
GCの実装の問題だからどうしようもないと思うんだけど。
リソースのサイズ減らすしかないんじゃない?

360:デフォルトの名無しさん
08/06/30 22:39:31
んだね
あとは自分の実装を見直してみること
gc呼んでも全く効果なしなら別に原因があるとも考えられる

361:デフォルトの名無しさん
08/07/01 19:58:59
1ファイル毎など生ぬるい。毎フレームだ。

362:デフォルトの名無しさん
08/07/01 23:29:12
そんなことしてもだいたいキューに溜められるだけなんだが

363:デフォルトの名無しさん
08/07/02 01:16:07
何作ってるか知らんが一度に数メガ単位のリソース読むなんて非常識

364:デフォルトの名無しさん
08/07/04 18:08:24
待ち受けとかノベル系のアプリ作っててふと思ったのですが、長時間キー操作がないとアプリの処理速度って遅くなりません?
で、関係ないキーとか押してみるとまた速度が元に戻る…の繰り返し。
これを解決するには一定時間ごとにアプリ側に制御を渡すような処理が必要なんでしょうか?


365:デフォルトの名無しさん
08/07/04 18:52:38
電池馬鹿食いの待ち受けになりそうだなw

366:デフォルトの名無しさん
08/07/04 18:58:05
ノベルゲームってキー待ちじゃないの
入力がない間に処理が遅くなるってわかるの?

367:デフォルトの名無しさん
08/07/04 20:06:12
>>366
キャラがアニメーションしてるとかじゃねーの?

368:デフォルトの名無しさん
08/07/05 03:09:14
携帯電話の本質から考えると当然の仕様じゃないかと思う
参考までに現行の一般的な携帯の初期設定だと、
数十秒操作がないとバックライトも消えて低電力モードに移る
しかし勝手アプリでその辺りの制御をできるとは考えにくい
素人に電池馬鹿食いアプリ作られて困るのは各キャリアだからね

369:デフォルトの名無しさん
08/07/05 03:52:47

バックライトの制御くらい普通にできるんじゃないの?

370:デフォルトの名無しさん
08/07/05 14:21:04
実装はどうあれ、10ms以上ならsleep()入れてくれさえすりゃいいんだが
なんでループぶん回すかな、みんな…

371:デフォルトの名無しさん
08/07/05 15:12:59
>>369
バックライトやバイブの制御などは簡単に出来るのですが、それでアプリ側に処理を移したつもりでも、描画速度がガタ落ちしてるんですよね。
ループで延々と描画を続けるアプリはみんなこんな感じなのかな…

372:デフォルトの名無しさん
08/07/05 15:36:58
>>371
繰り返す処理の内容にもよるから一概には言えない

373:デフォルトの名無しさん
08/07/05 22:43:00
可変FPSにして余った分sleepしてる

374:デフォルトの名無しさん
08/07/06 01:24:40
>>369
少し言い方悪かったね
分かりやすく言うとCPUの省電力動作の移行に関する操作までは
できないということ
でも省電力移行する程の期間で出力が必要な実装なんて
個人的にはあまり聞いたことが無い

375:371
08/07/06 14:30:40
>>372
シューティングゲームを作っているんですが、whileでぶん回しながら
自機、敵機の描画し、Thread.sleep(50)でウェイトをかけています。
通常ゲーム中のキー操作がある場合は速度が遅くなる事はないのですが、
ステージ間のアニメーション(敵機が決められた軌道上をスクロールする)
が長い箇所の場合20秒程あるんです。
要するにユーザがキー操作をせず描画処理だけが続く時間が最大20秒ほど
あるという事です。で、この時に徐々に速度が遅くなっていき、最後らへんには
見るも無残な速度になってしまいます。
途中、関係のないキーを押下してみたりしてアプリ側に処理が移ると速度が
元に戻ります。

376:デフォルトの名無しさん
08/07/06 16:21:38
>>375
上の人も言ってるけど
ユーザビリティ的に考慮する必要は無いと思うよ
携帯のゲームやったことあるなら分かるでそ?

377:371
08/07/06 18:09:29
>>376
なるほど…。
という事は勝手アプリを作る上で、数十秒程度のアニメーションは難しいという事ですよね。
色々ありがとうございました!

378:デフォルトの名無しさん
08/07/06 18:35:42
軽いモーションならまだしも、数十秒もあるアニメーションならムービーにして再生したほうが早いんじゃねえの

379:デフォルトの名無しさん
08/07/06 21:58:33
>>376
携帯使うときって基本バックライトが消えそうになったら
適当なキーを押すという使い方が一般的だからな
もちろんマニアックな設定をしてる人以外で

380:デフォルトの名無しさん
08/07/06 22:41:13
しかしそう考えると、ゲーム開始前で決定キーの
入力待ちの状態とかってあるじゃん。
アクションゲームとかそこでデモっぽいのが
流れてたりするけど、あれも放置してると速度が
遅くなるって事なのかな?
あんま携帯ゲームしないからよく分からないや。

381:デフォルトの名無しさん
08/07/06 23:28:39
携帯ゲーの場合デモ自体流さないな。
容量の関係とかで。
せいぜいタイトルで選択アイコンが点滅かアニメするだけ。

382:デフォルトの名無しさん
08/07/07 01:48:57
色々試してみたらdoja端末だとバックライトが消えても処理は重くならず
OAP端末だと暫く待つと重くなる。適当なフリーアプリをDLしてみても同じく。
特にRPGで常に手足がてくてくなってるアプリを見てたら明らかに手足の
速度が遅くなってワロタ(笑)

まぁ機種による可能性大だが…。


383:デフォルトの名無しさん
08/07/07 11:06:56
>>371
ガベージコレクションを自動的な発生に任せていると重くなる事があるけど、それかな?
適当な所でSystem.gc()してみ?

384:デフォルトの名無しさん
08/07/07 11:09:12
BREWは動作遅くなるのが仕様
Docomo、Softbankならおかしい

385:デフォルトの名無しさん
08/07/07 11:46:57
AOPはJBlend on BREWだからなぁ

386:デフォルトの名無しさん
08/07/07 13:18:42
本当にBREWはビチ糞だな。

387:デフォルトの名無しさん
08/07/07 13:20:56
個人的にはゲリじゃなくて便秘の方かな。

388:デフォルトの名無しさん
08/07/07 19:16:54
System.gc();は毎フレームやれってばっちゃが言ってた。

東芝の場合はしらんって怒られました

389:デフォルトの名無しさん
08/07/08 21:55:08
softbankで famiJSCL 使ってる人に質問

rom の内部読み込みはうまくいくけど
外部読み込みで「romの読み込みに失敗しました」
となります
対処法をご存知の方お願いします

390:389
08/07/08 23:14:52
ちなみにMEXA_EMULATORのコンソールには

起動エラー: java.lang.SecurityException: com.j_phone.io.Connector.StorageConnection.read was denied

と表示されます

391:デフォルトの名無しさん
08/07/09 00:17:44
famiJSCLって何?

Trustedでインストールしてないとか?

392:デフォルトの名無しさん
08/07/09 00:43:52
ググったけどスレ違いすぎる

393:389
08/07/09 01:18:36
やはりここもスレ違いでしたか
失礼いたしました

ちなみに Trusted でインストールしたら無事起動しましたが
実機ではやはりエラーが出ます


394:デフォルトの名無しさん
08/07/09 15:45:08
>famiJSCL
www.geocities.jp/v904shmania/#famiJSCL
--- 引用
ファミコン&ディスクシステムえみゅ


395:デフォルトの名無しさん
08/07/09 18:45:20
スレ違いで悪いけど、famiJSCLやゲームギアのって音有りになってるが
音源はどうやってエミュレートしてるのか気になる
spf?mmf?MIDI?

396:デフォルトの名無しさん
08/07/09 19:25:10
デコンパイルしてソース読めば?

397:デフォルトの名無しさん
08/07/09 20:01:36
>>396
そのつもりだったけどfamiJSCLのダウンロード先が見つからないんだ・・

398:デフォルトの名無しさん
08/07/09 21:22:37
>>397
smaf-phrase

"famiJSCL"でググったら最初に見付かるサイトの最後の方にzipあるよ。

399:357
08/07/09 22:44:49
今さらですが、取り合えずはなんとかは出来ましたのでご報告致します。
エミュや実機の動作の差分を見ていたところ、
703SHではゲーム用インナーのコンストラクタに入るところで急激に増えていました。
このクラスのメンバには一番多く変数が定義されており、
コピーコンストラクタで変数を大量に生成した後には703SHでは増えている感じでした
(エミュ・905SH・813SHでは約900KBに対し703SHでは約2MB)。
コンストラクタに入ったときにGCを呼んでも解放されなかったため、
 new byte[Runtime.getRuntime().freeMemory()]
を2回呼ぶことで空きメモリが必要である事を主張し解放を促しました。
これにより前記の領域を解放させることが出来ました。
タイミングによってはOutOfMemoryErrorが出るので、安全策として、
ここの部分でのみErrorをcatchしています。
Errorの性質上、かなり気持ち悪い実装となりましたが、
現状ではこの方法で回避するとこが出来ました。

400:357
08/07/09 22:45:46
>>359
そのGCの実装の差異を何とか吸収出来る様なテクニックがあればと思いまして。。。

>>360
GCで解放されているものもあり、全く効果が無いわけではありませんでした。
ただ、もっと解放して欲しい領域には及んではくれませんでしたが。

>>361
1フレームに1ファイル読み込んでGCを呼んでおります。

>>363
リソース自体は300K程度で、
SH問題で動的なものもあり、
起動時に読み込むのは200K程です。



と言うわけで、怒鳴られてしまいそうな実装ですが、一応解決したました。
どうもありがとうございました。

401:デフォルトの名無しさん
08/07/09 22:55:18
(´∀`)  スパーン!
   ⊂彡☆)´Д`)っ>>399

402:デフォルトの名無しさん
08/07/10 01:21:06
この流れでエミュエミュ言うから、うぜぇと思たら…
でもこれは駄目だろ
703shの実装以前に、何かが決定的に間違ってるはず
何がどれだけメモリを食ってるのかちゃんと調べたのか?

403:デフォルトの名無しさん
08/07/10 09:52:43
循環参照でもして、メモリーリークしてるんじゃね?

404:デフォルトの名無しさん
08/07/10 10:39:35
いくらなんでも弱参照カウンタくらい実装してるだろVMが。
マーク&スイープだったりするぞ。

405:デフォルトの名無しさん
08/07/10 11:05:35
バグでガベコレがうまく働かない機種があったけど
それが703shだったかは忘れてしまった

406:デフォルトの名無しさん
08/07/10 16:57:14
>>404
いまどきの、コンパクションすら行わない速度だけを求めた糞VMが、そんなことしてるかね?
アプリが終了するときはしっかりやってそうだが。

407:デフォルトの名無しさん
08/07/11 00:39:41
S!アプリのJSCL-1.1.x以降はメモリコンパクションをサポートしているらしいが?

408:デフォルトの名無しさん
08/07/11 01:01:31
>>357はキャンバススレッドにベターッと全てを実装してたりしてなwww

409:400
08/07/11 01:12:44
>>402
自分のコードに絶対的な自信を持っているわけではありませんが、
ただ、元々Dojaからの移植でDoja版は問題なく動作をしており、
納品済みで公開されております。
Softbank版ではクライアントの方でチェックされている中で703SHのみ
OutOfMemoryErrorが出ると言う報告のものでありました。
なので、元のコード自体に決定的な間違いがあるとは思い難いと思っています。
最も、メモリ容量の推移についてを先方にチェックしてもらっているわけではないので、
報告が無いことが703SHと同様の動作をしてないことと等価では無いとも思いますが。
703SHは一旦の対応で返却してしまったため、次の機会に"何"が"どれだけ"
食っているかを調べたいと思います。
今回は大幅に増えるタイミングタイミングがメンバ変数の初期化子しか
無い状態だったので、また対応の時間もあまり無く、深く追うことができませんでした。

>>403
メンバ変数はint等の値型の多次元配列がほとんどで、
メンバに参照を保持するようなメンバは持っていません。
また、メンバ変数の配列はコンストラクタ等で生成した後は解放しないで、
新たに作ることなく使いまわしているので、リークしそうなものがほとんど無い状態です。


410:デフォルトの名無しさん
08/07/11 01:27:17
J2MEで巨大な多次元配列とな

411:デフォルトの名無しさん
08/07/11 11:51:06
いまどきのKVMならコンパクション実装してるぞ。

412:デフォルトの名無しさん
08/07/11 13:21:42
>>411
そうなの?
少なくともDoCoMoは昔は実装してたのに、901あたりから一切コンパクションしなくなった
速さ優先のもよう

413:デフォルトの名無しさん
08/07/11 18:03:36
>>412
むしろP900、N900はコンパクション無いことが明記されているよ。
普通に組んでたら断片化を起こしているはずだし、
最近の物はほとんどコンパクションに対応してると思うよ

URLリンク(www.nttdocomo.co.jp)
URLリンク(www.nttdocomo.co.jp)

414:デフォルトの名無しさん
08/07/11 19:30:29
聞きかじった情報を信じるほど怖いことはない

415:デフォルトの名無しさん
08/07/11 21:17:14
>>409
プロならカバレッジ取るなりしてちょっとは自分で考えろ
たかが数100kのソースコードだろ

416:デフォルトの名無しさん
08/07/12 20:25:32
>>413
明記されてんのは知ってるよw
だが901か902からは全社コンパクション未対応だよ
FPS60出す化け物携帯にコンパクションなんて対応してねーっての
メモリー潤沢だからコンパクションが必要な場面はほとんどないけどな

417:デフォルトの名無しさん
08/07/12 22:32:34
>>416
ソースは?
60FPSってどのアプリよ
SHの画像メモリはちゃんとコンパクション
されているみたいだが

418:デフォルトの名無しさん
08/07/12 22:59:45
どっちが本当かは知らんけど、ドコモの902以降だったらマリオくらいだと60FPS出せるね

419:デフォルトの名無しさん
08/07/13 04:59:11
コンパクションするかどうかは、プログラムを組んで確認してみればわかること。


420:デフォルトの名無しさん
08/07/13 06:07:08
コンパクションしてるかってどうやって検証すんの?

421:デフォルトの名無しさん
08/07/13 09:43:08
1M 10KB 1M 10LB

422:デフォルトの名無しさん
08/07/13 09:43:38
1M 10KB 1M 10KB
って確保してうめうくしたあと、GCして、その後2Mとろうとしてみればいいんじゃね?

423:デフォルトの名無しさん
08/07/15 03:04:56
■■■■■■■■   ■=new int[1048576/4]
■□■□■□■□   □=null
System.gc()
new int[2097152/4]

424:デフォルトの名無しさん
08/07/16 03:15:57
なるほと理解した

425:デフォルトの名無しさん
08/07/17 01:56:42
ろれつが回らない口調が流行ってるのか?

426:デフォルトの名無しさん
08/07/17 02:48:40
解放しちゃらめぇ〜

427:デフォルトの名無しさん
08/07/17 08:09:58
はーいたらちゃんです

428:デフォルトの名無しさん
08/07/17 22:43:45
プログラマーは赤ちゃん返り

429:デフォルトの名無しさん
08/07/19 11:18:15
現在、ソケット通信を行うS!アプリを作成中です。
エミュレーターでは動作しサーバープログラムと通信できるのですが、
実機(921SH)では下記の記述部分でSecurityExceptionが発生してしまいます。

Connector.open("socket://[IPアドレス]:[ポート番号]");

jadファイルとMANIFESTファイルには
MIDlet-Permissions: javax.microedition.io.Connector.socket
と記述しています。

エラーの内容は javax.microedition.io.Connector.socket was denied です。
原因をご存知であれば、ご教授お願い致します。

430:デフォルトの名無しさん
08/07/19 12:57:23
>>429
Socketアクセス出来ればメールも詐称しまくり送りまくりだよねえ。
フリーソフトにマルウェアとして仕込めば自分の手を汚さずに。

431:デフォルトの名無しさん
08/07/19 13:52:14
socket通信はできないんですか?

432:デフォルトの名無しさん
08/07/19 13:52:41
>>430
なぜわかった?w

433:デフォルトの名無しさん
08/07/19 13:53:52
>>431
そういうことをやりたいならS!なんて忘れることだ。

434:デフォルトの名無しさん
08/07/19 13:59:36
URLリンク(k-tai.impress.co.jp)
これはどういう意味なんでしょうか?

435:デフォルトの名無しさん
08/07/19 22:18:58
TCP/IP直叩き出来るようになる。

436:デフォルトの名無しさん
08/07/19 22:42:22
許された人達には

437:デフォルトの名無しさん
08/07/20 00:02:57
>>432
お前みたいなヒヨッコがクラッカー気取りで変なもの組もうとするから
規制がアホみたいに厳しくなるのですよ

438:デフォルトの名無しさん
08/07/20 09:35:52
>>436
あまりにもアレすぎて、ほとんどの人たちは許されませんでした

439:デフォルトの名無しさん
08/07/21 00:43:40
一部の公認アプリのみがsocket通信可能ということですか?

440:デフォルトの名無しさん
08/07/21 02:36:48
>>437
もともと禁止されていたんです。
私のせいで規制されたような言い方はやめてくださいw

441:デフォルトの名無しさん
08/07/21 02:43:50
>>439
こんなところで質問する暇があるなら職場の先輩にでも聞くといい

442:デフォルトの名無しさん
08/07/21 15:34:16
ググれカスで十分だ

443:デフォルトの名無しさん
08/07/22 00:41:55
socket通信?仕様書も読めないのか?
日本語とgoogleの使い方から勉強しろよ。

444:デフォルトの名無しさん
08/07/22 01:19:17
ググれカスがわからないからgooできいてきました

445:デフォルトの名無しさん
08/07/22 19:19:31
クマー!!

446:デフォルトの名無しさん
08/07/22 21:06:19
TextSS


447:デフォルトの名無しさん
08/07/22 21:12:17
>>439
 そういうことです。
sに相談してくださいな

448:デフォルトの名無しさん
08/07/23 15:05:59
Softbank端末で、S!アプリからモーションコントロールセンサーを使いたいと思って調べてみたんだが、
そのAPIに対応している端末が904SHしか見当たらない。
センサーそのものは搭載していても、MEXA経由でアプリにインターフェース公開しているのが
904SHだけしかないって理解でOKですか?
だとしたらなんとも残念だ。

449:デフォルトの名無しさん
08/07/24 11:51:26
>>そのAPIに対応している端末が904SHしか見当たらない。
センサーそのものを搭載している端末で出来なかったの?
どういう情報で"見当たらな"かったのだろうか

450:デフォルトの名無しさん
08/07/24 15:38:32
>>449
Softbank開発者向けのサイトMobile Creation(URLリンク(creation.mb.softbank.jp))で
「端末情報 MIDP2.0対応端末編 PartXX」のPDF資料を一通りさらったんだけど
「モーションコントロール対応可否」という項目が×ばかりだった。

たとえばセンサーは確かに搭載されているはずの921SHでも×になってた。

451:デフォルトの名無しさん
08/07/28 23:17:52
MEXAエミュレータでソフトキーを押すと、keyPressのほうにも通知がくるのはバグ?

452:デフォルトの名無しさん
08/07/29 09:31:32
>>451
バグではないよ。
ただ、実機だと端末によってキーコードが違うんじゃなかったっけ?

453:デフォルトの名無しさん
08/07/30 01:38:10
違うよ

454:デフォルトの名無しさん
08/07/30 10:51:15
iアプリのcom.nttdocomo.util.Phoneにあたる機能って
S!アプリにはないんですか?
USIMのIDが取得したいんですけど。

455:デフォルトの名無しさん
08/07/31 22:35:05
>>454
無い。
というかDojaだってUSIMのIDなんて取れない。

456:デフォルトの名無しさん
08/07/31 23:59:45
そのものじゃないけど、それに準じた固有IDは取れるじゃん。

457:デフォルトの名無しさん
08/08/01 21:30:18
準じとらん。
USIMのIDと端末のIDじゃ根本的に別物だろう。紐付くわけでもなし。

458:デフォルトの名無しさん
08/08/02 05:36:46
>>455
ドコモの場合、中から取れるかどうかは知らんが、外を経由すれば取れる。
URLリンク(www.limy.org)

459:デフォルトの名無しさん
08/08/02 06:41:05
URLリンク(www.enjoykorea.jp)

460:デフォルトの名無しさん
08/08/02 20:25:36
>>457

紐づいてるよ?
契約者ごとと端末ごとの2種類とれるよ?
単に元の値が類推できないようにはなってるけど。

461:デフォルトの名無しさん
08/08/05 19:34:49
S!アプリ(メガアプリ)からmexaの移植の話があるんだが、
ぶっちゃけコンパイラだけ変えて通せばOKなわけ?

そのままだと、折角だから品質向上させろとNGにされるんだろうけど...

462:デフォルトの名無しさん
08/08/05 23:57:09
>>461
言ってる意味が分からない。

463:デフォルトの名無しさん
08/08/06 00:07:43
>>461
Javaなのにコンパイラ変えてどうする

464:デフォルトの名無しさん
08/08/06 02:18:23
eclipseのコンパイラとか?

465:デフォルトの名無しさん
08/08/06 22:17:58
ぶっちゃけコンパイラっていうコンパイラがあるって話だろ

466:デフォルトの名無しさん
08/08/07 10:09:41
>>465
無い
というか意味不明
日本語でOK

467:デフォルトの名無しさん
08/08/07 16:21:28
SDKと言いたいのだろう?

わざわざmexaにコンバートしないでも、jsclのまま出しときゃいいじゃん。
それとも最近のは下位互換性なかったりするの?

468:デフォルトの名無しさん
08/08/07 17:18:41
eclipseでJConnector使いたいんだが、パス通してもNoClassDefFoundError: JConnectorがでで強制終了。何が悪いんだ?

469:デフォルトの名無しさん
08/08/07 17:35:08
>>468
JDKが新しいと、デフォルトパッケージの指定が出来ないので、
JDK1.3にするか、オプションつけるかなにかして対応しないといけないと思います。

(オプションで回避できるか、要調査ですが、無理だったような気もします。)

470:デフォルトの名無しさん
08/08/07 18:34:17
>>467
どっちもMIDP
コンバートなんて御大層なことは無い
JSCLの一部はMEXAでもUnit1に入ってるから
下位互換性があると言えばあるけど中途半端

471:デフォルトの名無しさん
08/08/11 13:33:19
すごい初歩的な質問なんだと思うんだけど、
そもそもMEXAエミュレータって
stubclassesに含まれているクラス以外を
参照してもNoClassDefFoundErrorになるのかな?

環境はEclipse 3.4、JDK1.4.2、MEXAエミュ2.1

472:デフォルトの名無しさん
08/08/12 01:06:44
>>471
イミフ
stubclassesに含まれて無いのならどこに含まれてる?
自分で定義したのならともかく
定義していないならそもそもコンパイルエラー

473:デフォルトの名無しさん
08/08/12 21:15:22
今、S!アプリで拡大縮小機能を自作していようと思い、作っているのですが
なかなかうまくいきません。以前、Cで同じメソッドを作ったのでそれを参考にしたのですが、そのときはchar型のポインタ配列を、freadで画像から読み込ませて
変形させたら何とか出来たのですが、Imageクラスの中身が何なのかわからないのでどうやって
ほかの型にデータを渡して変形させればいいのか皆目見当がつきません。
アドバイスをください。お願いします。

474:デフォルトの名無しさん
08/08/12 21:45:45
>473
MIDP2.0のAPIリファレンスくらい読みましょうよ
そしたら皆目見当がつかないなんてことないから

475:デフォルトの名無しさん
08/08/13 02:51:53
>>473
Cとかcharとか言ってるとこを見ると、
Imageオブジェクトの中の人に生でアクセスしたいんだろうけど、
それはムリ。
それができないようにクラス設計されてるんだし。

>474 のいうように、まずはリファレンス見てから考えれ。
・・というか、MIDPだけではムリじゃなかったっけ。

476:デフォルトの名無しさん
08/08/13 03:53:57
>>473
RGBの配列を取り出して、変形して、描画すればよい。


477:デフォルトの名無しさん
08/08/13 10:53:35
Image.getRGBで取得すればいい
んで、Graphics.drawRGBで描画
ただ、速度は遅いけどね

478:デフォルトの名無しさん
08/08/13 16:48:07
あれ、、、MIDPってリフレクションとかできないの?
どうすれバインダー。

479:デフォルトの名無しさん
08/08/13 17:52:52
そもそもリフレクション使う場面がない。設計からやり直せ

480:デフォルトの名無しさん
08/08/13 19:06:25
URLリンク(www.itmedia.co.jp)

481:デフォルトの名無しさん
08/08/15 16:14:53
>> 479
J2SEで作ってたものを移植しようとしてたんだけど
即効でつまづくね。。。

ディープコピーとかも
どうすんだこれ、、、


482:デフォルトの名無しさん
08/08/15 19:21:31
すいません質問させてください。
下記のリンク先にあるサンプルプログラムを実行したのですが、レコードストアがうまく動いていないようなんです。

サンプルプログラムではハイスコアを保存するようになっているはずなのですが、次回起動時にはその値がおかしくなってしまいます。
例えば570点を取っても、次回起動時には58点となってしまいます。
URLリンク(appget.com)

実行環境は同URL内の「第2回 はじめてのオープンアプリ(Java)の作成」に従って、
JDK 1.5とJ2ME Wireless Toolkit 2.2を使用しました。

原因もしくは対処法をご存知でしたら是非教えてください。よろしくお願いします。

483:デフォルトの名無しさん
08/08/15 19:29:34
>>482
byteで保存しているからだね
Intでやろう

484:482
08/08/15 20:16:09
>>483
無事解決しました!
ありがとうございました。


485:デフォルトの名無しさん
08/08/15 20:48:54
うーん、サンプルプログラムさんとしては、その辺は自己解決するように
仕向けているような気がするのは気のせいか。
ということで>>482はなぜbyteでは58点になってしまうのかレポート提出すること。

486:482
08/08/15 20:52:43
>>485
byteは1byteしか保存できないから256以上だと切り捨てられてしまうってことでいいんでしょうか?
今回の場合だと
570 - (256 * 2) = 58
ってことでしょうか?

487:デフォルトの名無しさん
08/08/15 23:44:16
>>481
ディープコピーなんて自前に決まってるだろ。
というかSEのプログラムをどうやってCLDC+MIDPに移植するんだ?
CDC+PPならともかく。
SEにあってCLDCにないものは基本全部自前だぞ。

488:デフォルトの名無しさん
08/08/16 00:07:07
・;(`ε()゙

489:デフォルトの名無しさん
08/08/16 17:21:07
>>486 OK。分かってしまえば簡単なことなんだけどな。

490:デフォルトの名無しさん
08/08/19 07:49:46
米Sun、Java ME向けUIライブラリをオープンソースに
URLリンク(opentechpress.jp)

Lightweight UI Toolkit(LWUIT)
URLリンク(lwuit.dev.java.net)

491:デフォルトの名無しさん
08/08/20 00:00:34
前からdev.java.netになかったけ?

492:デフォルトの名無しさん
08/08/20 02:16:29
WTKのエミュで動かせなかったのでw-zero3で動かした。
とくに問題はなかった。

493:デフォルトの名無しさん
08/08/23 23:42:47
オープンアプリの実行環境についてなんだけど
KCP端末とKCP+端末では性能が格段に違ったりする?
KCP+端末しか持ってないので旧機種との性能差が気になってる
10fpsも違ったりすることは無いよね?
知ってる方情報よろすこ

494:デフォルトの名無しさん
08/08/24 00:18:17
KCPってそもそもソフト側のプラットフォームじゃなかったっけ?
速度とかはのっけてるチップの問題だろ。

495:デフォルトの名無しさん
08/08/24 01:40:38
>>494
組み込みだからソフトっちゃソフトもだろうけど
デュアルコア採用だとかグラフィックにATIのチップセットだとか
言う噂を聞いたもんだからさ
そもそも基幹部分のチップセットはKCP時代からqualcomm製で統一されてるんでない?

496:デフォルトの名無しさん
08/08/24 10:43:35
>495が正しい。
チップセットのMSM7500(ARM9+ARM11のデュアルコア+IMAGEON(ATI))があり、
それに最適化したOSがKCP+。
KCP+世代内でもチップセットが進化する可能性はあるかもしれないけど。

で、KDDIはKCP+はKCPに比べて10倍早い!とか言ってた気がするけど、
たぶん3Dグラフィックについてのことだろう。
2Dのみのオープンアプリでそこまで速度差があるとは思えない。

でも某アプリ製作者のブログ見てたら結構な速度差があるとは書かれてた。
10fpsてのは基準が分からんし何とも言えないけど。

497:デフォルトの名無しさん
08/08/25 02:47:35
>>493
ハード性能は格段に上がってるけど、
OSやKCP+部分が足引っ張って、プラスマイナス0
って、だいぶ前に中の人に聞いたよ。


498:デフォルトの名無しさん
08/08/25 19:39:07
そんなにオーバーヘッドがあるのかそれともただの屑なのか・・・。

499:493
08/08/26 00:48:30
>>496-497
d
劇的に性能が上がってる分けでも無いのね
auはオープンアプリを拡張しないだろうし
ATIのチップ乗ってても一般人は恩恵に与れないわけだ

500:デフォルトの名無しさん
08/09/01 21:27:49
ファミコン版の三国志みたいなやつを
通信対戦できるようなゲームを作ろうと思う。
需要あるかな。

501:デフォルトの名無しさん
08/09/01 22:30:07
作り始めて技術的な問題が出てきたらまたおいで

502:デフォルトの名無しさん
08/09/02 01:09:37
>>500
そういうのはコーエーにやらせとけばいいの。

503:デフォルトの名無しさん
08/09/04 07:05:37
HTTP通信するアプリなんですが、実機で動作させると、下のソースの
c =(HttpConnection)JConnector.open(url, JConnector.READ);
でjava.io.IOExceptionになります。
POSTメソッドだとネットワークに接続しますか?と聞かれて通信がうまくいくのですが、GETメソッドだと聞かれず、IOExceptionとなります。
何か知ってる人がいたら助けてください。ちなみに実機は910Tです。

try {
try{
c =(HttpConnection)JConnector.open(url, JConnector.READ);
}catch (Exception e) {
// TODO: handle exception
info=e.toString();
}
c.setRequestMethod(HttpConnection.GET);
in =c.openInputStream();
out=new ByteArrayOutputStream();
rc = c.getResponseCode();
if (rc != HttpConnection.HTTP_OK) {
info2=Integer.toString(rc);
throw new Exception();
}
while (true) {
size=in.read(w);
if (size<=0) break;
out.write(w,0,size);
}
out.close();
in.close();
c.close();
return out.toByteArray();
}

504:デフォルトの名無しさん
08/09/05 20:24:07
>>503
情報が足りないので予想だが、
close()の記載がここだけだとするとclose()されてない可能性があるかと。

//修正ソース
try{
  c = Conector.open();
  in = c.openInputStream();
  in.read();
}catch(Exception e){
  System.out.println(e.getMessage());
}finally{
  //例外が発生してもしなくても最後に必ず実行される
  if(in != null) in.close();
  if(c != null) c.close();
}
こんな感じでfinally{}内でclose()したらどうだろ?
すでにしてるようならわからん。

505:デフォルトの名無しさん
08/09/06 14:18:13
>>504
改行制限のため省略しましたけど、closeはちゃんと行ってます。
現状として、ビジネスプロバイダforS!アプリのサーバにアップしてるのですが、そこで配布してるJConnector.classを使うと実機でGETメソッドがうまく使えなくなります。
Connectorを使うならGETメソッドでもうまく通信できるのですが、これだと通信と個人情報取得の両方の利用ができなくなります。
だれかここら辺の事詳しい人いませんか?

506:デフォルトの名無しさん
08/09/06 15:00:25
過去ログpart5に出てた。この人はこれで解決してる。

ビジネスプロバイダforS!アプリの基準では
>アップロード時の設定ファイルに接続先ドメインを書かなければならない

507:デフォルトの名無しさん
08/09/06 15:18:51
>>506
設定ファイルには接続先ドメインを書いてます。
書き方が悪いのかな?けどそれだとなぜPOSTメソッドの場合だけ成功するのかがわからない。

508:デフォルトの名無しさん
08/09/06 15:58:54
そのJConnectorの開発元や配布元へは質問出してるの?

509:デフォルトの名無しさん
08/09/06 18:59:30
ってかココ(URLリンク(support.sappli.com))と、
「各種説明」の内容は読んだ上で質問してますか?
・・・いや、俺はID持ってないから「各種説明」に何が書かれているか知らんけど。

ビジネスプロバイダ契約してるなら、メールで質問投げればちゃんと返信来ますよっと。

510:デフォルトの名無しさん
08/09/07 19:33:28
>>509
もちろん読みましたよ。
そんじゃそっちに質問してみます。


511:デフォルトの名無しさん
08/09/08 15:45:43
以前もここで聞いた事があるのですが、オープンアプリの実行中に一定時間キー入力が
なかった場合、描画速度が極端に落ちてしまいます。
whileでループさせてpaintに飛ばして画面に描画…という単純なプログラムです。
同じ仕組みのアプリでも、DoCoMo端末、SoftBank端末では一切速度が落ちません。

で、前回質問させて頂いた際、DoCoMoとSoftBankは大丈夫だけどオープンアプリは
仕様だから仕方ない、という結論を頂いたのですが、最近mo○oゲームのオープンアプリ版
をダウンロードしてみた所、どれだけキー入力しても画面上の描画速度が一切
落ちていない事に気付きました。

一体どんなテクを使っているのでしょうか??
本人に質問できないチキン野郎ですみません。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4691日前に更新/219 KB
担当:undef