[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 12/04 09:31 / Filesize : 152 KB / Number-of Response : 554
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Javaアプレットのゲームの限界は!



1 名前:名無しさん@お腹いっぱい。 [01/11/08 23:35 ID:kmeAWDum]
PCのブラウザで出来ることは全てやりつくされた?
なんか凄いの作れないの?
もう携帯だけの過去の遺物?

155 名前:名前は開発中のものです。 mailto:sage [02/05/27 21:15 ID:???]
JavaPlug-inいれてもらえよ。
サイズ忘れたが、今の時代「でかい」部類には
入らないだろ?

「やりたいと思う」人はそれくらいの労力はいとわない。
それとも「やりたいと思っていない」人まで釣るために
わざわざデフォの環境でも動くもの作るのか?
もっと、「やりたいと思う」人を増やすところに
労力つぎ込めよ。

WinXP・IE6にデフォで搭載されてないというのは、
もう古いMSVMは普及しないってことだろ?
それで動くもの作ってどうするんだ?

作り手がそんなんだからはやらねーんだよ。

156 名前:名前は開発中のものです。 mailto:sage [02/05/28 10:24 ID:???]
>サイズ忘れたが、今の時代「でかい」部類には

154じゃないが、でかさは問題じゃないってのに。
JREのインストールページ↓、一般人が先に進んでくれると思うか?
java.sun.com/j2se/1.4/ja/
一般への普及を阻害しているのは他ならぬSun自身だ。

>それで動くもの作ってどうするんだ?

だからそもそもJavaで作らないという選択肢もあるわな。

>作り手がそんなんだからはやらねーんだよ。

卵が先か鶏が先か。そもそも流行らせる義理なんかねーし。┐(´Д`;)┌
大多数の開発者(Sun含む)の心理がすでにクライアントJavaを見捨ててる以上、
個人レベルであがいたところでどうにもならんよ。

ウェブページ上で何かやりたきゃ、今なら.NETのコントロール埋め込む手もあるぜ。

157 名前:155 mailto:sage [02/05/28 22:25 ID:???]
???
JavaPlug-inは必要なページに行くと
勝手にダウンロードがはじまるんじゃないのか?

java.sun.com/getjava/download.html
を見ると、ダウンロード後勝手にインストール
されるようだが。

違うのか?

158 名前:悲惨な156 mailto:sage [02/05/29 00:02 ID:???]
そういえばそんな仕様に変わったんだっけな。
一度も試したことがないので忘れておったわ。すまん。

159 名前:名前は開発中のものです。 [02/05/31 13:21 ID:TkG93Yss]
JVMの件が一段落したところで、
ガイシュツかもしれんが

www.gamelet.com/index.html

160 名前:名前は開発中のものです。 mailto:sage [02/05/31 13:46 ID:???]
JavaPlug-inは起動にかなり時間がかかるし、今のところ好かれる存在とは思えないよ。

161 名前:名前は開発中のものです。 mailto:sage [02/05/31 14:15 ID:???]
>>159
適当に試したがあっさりフリーズした。

162 名前:名前は開発中のものです。 mailto:sage [02/05/31 15:08 ID:???]
うちの環境では、複数のウィンドウを開いたりアクティブな窓を切り替えたりしてるとJavaPlug-inがIEごと固まる事がよくあります。安定して動作する環境もあるんでしょうけど・・・・
古いバージョンのJREじゃないと動かないアプレットがあったり、JavaPlug-inの自動インストール(バージョンアップ)中に古いプラグインのアンインストールに失敗して中断してしまったり、なにかと問題が生じてます。
Sunだけの問題では無いでしょうけれど、期待してるだけに、もちょっとなんとかならないかなぁと思います。

163 名前:名前は開発中のものです。 [02/05/31 22:25 ID:9ytySeJE]
>>124
エロゲをネットでやるのは技術面より改正風営法か何かの関係で面倒だとか



164 名前:名前は開発中のものです。 mailto:sage [02/05/31 22:26 ID:???]
>>155
で、インストールを前提とするならFlashでもActiveXでもいいじゃん、
と無限ループ

165 名前:名前は開発中のものです。 mailto:sage [02/05/31 22:49 ID:???]
ActiveXは・・・・

166 名前:名前は開発中のものです。 mailto:sage [02/05/31 23:20 ID:???]
>>160
未だにISDNだから、起動時間より
アプレットの読み込み時間のほうが長いっす。

167 名前:名前は開発中のものです。 mailto:sage [02/06/01 00:18 ID:???]
>>166
ちなみに最近のJavaPlug-inはclass、jar、その他リソースをキャッシング出来るの知ってる?
当然キャッシュがきかない場合(1回目他)は意味無いけど。

うちの場合はプラグイン起動に5秒くらいかかるかな?
例えばBizTechのページとか見に行くと、プラグインの起動が終わるまでリンクなどがアクセス不能で待っていなくちゃならない。かなりストレス。
一度起動しちゃえば気にならないんだけど。
(BizTechサイトではJava使ってユーザーのトラッキングしてるらしい)

168 名前:名前は開発中のものです。 [02/06/01 11:42 ID:zMTxHoSs]
ぢゃぱ1.4てどんなのか全然わからない。
噂では表示が高速化されて3Dのゲームも作れるようになる
とか言われてたけど。

どこかにくわしく説明してるとこないですか。
チップス集とか。

169 名前:名前は開発中のものです。 mailto:sage [02/06/01 12:43 ID:???]
java.sun.com/j2se/1.4/ja/
java.sun.com/j2se/1.4/ja/docs/ja/relnotes/features.html

どこかって、少なくとも本家のサイトには行ったんだよね?
3Dのゲーム云々って、どこで言われてたの?

170 名前:名前は開発中のものです。 mailto:sage [02/06/01 20:22 ID:???]
1.4のVolatileImage関連は
www.javagaming.org/
にサンプルと解説があるよ。
実際になんか書いてみるならjava.awt.image.BufferStrategy使うのが楽。

1.4での3Dの強化って言うのは多分DirectBuffer使って
OpenGLラッパーが高速になるって話だと思う。これ↓
java.sun.com/products/jfc/tsc/articles/jcanyon/

171 名前:名前は開発中のものです。 mailto:sage [02/06/02 15:45 ID:???]
>>167
最新の1.4でもURLの末尾が.jarか.classで終わってないとキャッシュしない。
まあ.jarに必要なリソース全部ブチ込めば済む話だけど

172 名前:名前は開発中のものです。 mailto:sage [02/06/04 05:06 ID:???]
そーいやアプレットで jar ファイルから
リソース読めないってバグがあったような…

173 名前:名前は開発中のものです。 [02/06/22 10:44 ID:4frAFN1U]
まだだ、まだおわらんよ
japan.internet.com/webtech/20020619/11.html
MS、XP でも Java を標準サポートするよう路線変更

各種報道によると、Microsoft (NASDAQ:MSFT) は、今夏リリース予定の Windows XP 用サービスパック1 (SP1) に『Java Virtual Machine (JVM)』を含めることを決定したという。
Microsofot は Sun Microsystems (NASDAQ:SUNW) から反トラスト法違反訴訟を起こされており、打開策をさぐっているのがうかがえる。



174 名前:名前は開発中のものです。 mailto:sage [02/06/22 10:51 ID:???]
バージョンが1.1.4という罠

175 名前:名前は開発中のものです。 [02/06/22 11:09 ID:dD3kwTx.]
どのみち2003年12月31日までの命という罠
itpro.nikkeibp.co.jp/free/NT/NEWS/20020619/3/index.shtml

176 名前:名前は開発中のものです。 [02/06/22 12:02 ID:1339MhGY]
>>160

JRE1.3.1 なんかは Applet 含んでいなくても Java コンソールとかいうのを起動して、
それで結局 Swing のクラス群をだらだらと長い時間かけて読み込むんだよね。

やる気無いとしか思えなかったね。JRE1.4 は、確か、ディフォルトでは Java コンソール
起動しないから、割と起動が速い。

177 名前:名前は開発中のものです。 [02/06/22 12:03 ID:1339MhGY]
Applet 含んでいなくても -> Applet に Swing 含んでいなくても

178 名前:名前は開発中のものです。 mailto:sage [02/06/22 13:54 ID:???]
>>171
そう?ウチのキャッシュ見たらgifやjpgがかなり溜まってたよ

179 名前:名前は開発中のものです。 mailto:sage [02/06/22 15:34 ID:???]
>>178
ブラウザ一般のキャッシュとごっちゃにしてないか?
ブラウザが直接読み込んだ画像はもちろんキャッシュされるが
Java Plug-inは利用しないから意味ない。
少なくとも漏れの場合は実際にキャッシュしてくれなかったから
URLの末尾に ?x=.jar を付けるとかの回避策が必要になった。
それがバグなのか仕様なのか調べて発見したソース↓
java.sun.com/j2se/1.4/ja/docs/ja/guide/plugin/developer_guide/disk_caching.html#How
java.sun.com/products/plugin/1.3/docs/ja/cache.html#How

180 名前:178 mailto:sage [02/06/26 01:17 ID:???]
>>179
>ブラウザ一般のキャッシュとごっちゃにしてないか?

はぁ・・・・・脱力・・・・
ちなみにウチのキャッシュのディレクトリは・・・・
C:\WINDOWS\.jpi_cache\file\1.0
だよ。
コントロールパネルから「キャッシュビューア」で確認しても、種類がJPEGやGIFのファイルが沢山溜まってるよ。
Javaコンソールでも(トレースレベル1以上で)
「キャッシュから xxxxx.xxxxx.xx/xxx.gif をロードしています」
ってメッセージが確認できるし。実際そうなんだから仕方ないよ。

181 名前:名前は開発中のものです。 mailto:sage [02/06/26 21:52 ID:???]
もしかしてこっちのキャッシュの話ですか
java.sun.com/j2se/1.4/ja/docs/ja/guide/plugin/developer_guide/applet_caching.html

話は変わるがキャッシュディレクトリのパスが予測可能というのは
ある種の攻撃が可能になりそうでフアーン
memo.st.ryukoku.ac.jp/archive/200205.month/3953.html

182 名前:名前は開発中のものです。 mailto:sage [02/06/26 22:32 ID:???]
>>180
確認した。確かに.jpgや.gifはキャッシュされてた。
つまりドキュメントが古いままなのか。スマソ。
でも漏れの場合必要だったのは.lzhで、これは相変わらずディスクには
キャッシュされなかった。これも確認したから間違いない。
なんかメモリにはキャッシュされてるっぽいけど。

ファイル名の後ろにランダムな文字列がつくからローカルファイル起動は大丈夫だな。

183 名前:名前は開発中のものです。 mailto:sage [02/06/26 22:43 ID:???]
>>182
lzhって…
kiss でも作ってんの?



184 名前:名前は開発中のものです。 mailto:sage [02/06/27 22:55 ID:???]
java.sun.com/products/javawebstart/ja/index_ja.html
Java Web Start バージョン 1.2 Beta のダウンロードが可能になりました。

MacOSでは標準インストールされているらしい、"Java Web Start"。
Windowsマシンでの普及率は・・・・・・・・
キラーアプリが現れればイッキに普及もあり得るけど、現状のJavaじゃ苦しいでしょうねぇ。Web Start 自体の熟成度もまだイマイチっぽいし・・・・

185 名前:名前は開発中のものです。 mailto:sage [02/06/28 00:37 ID:???]
そんなセキュリティーホールになりそうなヤバイものを入れるわけないでしょ

186 名前:名前は開発中のものです。 mailto:sage [02/06/28 00:42 ID:???]
>>185
どのへんがセキュリティホールになるんでしょうか?

187 名前:名前は開発中のものです。 mailto:sage [02/06/29 14:36 ID:???]
半端な知識を持ったユーザーにとってセキュリティホールになりえるとは思えますよ。
「*.exeは安易にダウンロードして実行しては危ない」という知識はある。けど
「Javaは安全」のような、誤った認識を持っていたりした場合。
Web Start アプリケーションには、ローカルリソースにフルアクセスする権限を持たせる事も出来る。確か権限を与えて良いかどうかなどの確認を求めてくると思ったけど、知識の無いユーザーがそんな事聞かれても困っちゃう訳で。
*.exeをダウンロードして実行するのは危ないって言い聞かされてたけど、Javaは安全らしいし、ウィルス検知ソフトもインストールしてあるし・・・・みたいな。
ブラウザ上のリンクをワンクリックして自動インストールされたJavaアプリの安全性なんて、普通のユーザーには解らないだろうから。
>>185も、そのレベルのユーザーであると自分を認識できているという事では。
或いは、アクセス制限を課せられているはずのアプリが制限以上の権限を持ってしまうセキュリティホールがあるだろうって事だろうか?

個人的には Web Start は便利なシステムになり得ると思う。可能性として。特に会社内のイントラシステム向けアプリの自動配布(アップデート)に便利かなと。
けど、現状のクライアントサイドJavaアプリのパフォーマンスはどうも。GUIの応答速度とか。なぜJavaで組んだのかと、ユーザーから不評を買いそう。

188 名前:187 mailto:sage [02/06/29 14:40 ID:???]
....っていうか、186の反応がやけに早いね。sage進行スレの割にさ。自己ツッコミ(自作自演)だろうか....

189 名前:名前は開発中のものです。 mailto:sage [02/06/30 03:29 ID:???]
なんだかんだで結局、今ネットで大流行してるのは
脱衣ブロック崩しなんだよな…

190 名前:名前は開発中のものです。 mailto:sage [02/06/30 04:12 ID:???]
>>189
Javaアプレットの?

191 名前:名前は開発中のものです。 mailto:sage [02/06/30 11:29 ID:???]
> 「Javaは安全」のような、誤った認識を持っていたりした場合。

バカ供が変にアジったおかげでそういう嫌な認識が広まってるよね。

192 名前:名前は開発中のものです。 mailto:sage [02/06/30 17:28 ID:???]
>>191
さほど広まってはいないだろうとも思うけどね。
そういう中途半端な知識を持っているのは、やっぱり限られた特殊な層だろうと思う。(けど、そういう半端な層のユーザーが一番厄介な存在なんだろうなぁ・・・・)
大部分の人はJava自体を知らないでしょう。
セキュリティに敏感な人の多くは「MSのJavaVMにセキュリティーホールが発見されましたので、安全の為にブラウザでJavaを使用しないように設定変更しましょう」のような知識は持っているかも。
ソフトウェア開発関係の人なら、正しい認識を持っている・・・・・とは言いきれないでしょうね。Javaから逃げているMS信奉者も少なくないだろうし。

一般向けにJavaとは何かを紹介したオンラインの記事があったら、見てみたいな。どんな風に紹介されているんだろう。
やっぱり「巨大企業マイクロソフト対その他大勢」的な記事の一部で触れられる事が多いのかな。

193 名前:名前は開発中のものです。 mailto:sage [02/07/04 23:43 ID:???]
>>192
いや結構流行ってるぞ
俺ニュースあたりを見ると2、3日に1回ぐらいで脱衣ブロック崩しのニュースが入るぞ。



194 名前:名前は開発中のものです。 mailto:sage [02/07/05 11:58 ID:???]
俺ニュースってなんすか?

195 名前:名前は開発中のものです。 mailto:sage [02/07/05 14:38 ID:???]
検索しなさい。

196 名前:名前は開発中のものです。 mailto:sage [02/07/05 21:34 ID:???]
>>193
192は189へのレスじゃないぞ。よく読め。

197 名前:194 mailto:sage [02/07/07 23:45 ID:???]
www13.xdsl.ne.jp/~techle/
俺ニュースってコレであってる?

198 名前:名前は開発中のものです。 mailto:age [02/08/08 22:00 ID:???]
ageてみる。

199 名前:名前は開発中のものです。 mailto:sage [02/08/08 22:21 ID:???]
空ageは、
バカの習性。

バカの習性。

200 名前:◆sA5ZfsnM mailto:sage [02/08/08 23:03 ID:???]
200

201 名前:名前は開発中のものです。 mailto:age [02/11/03 01:58 ID:???]
Javaも各OSにプリインストールっていうことにしてほしい。
SUNも変な意地張らないでさ。

202 名前:201 mailto:age [02/11/03 01:59 ID:???]
そうすれば、もう少し使えるのに…。

203 名前:あぼーん mailto:あぼーん [あぼーん]
あぼーん



204 名前:名前は開発中のものです。 mailto:sage [02/11/03 21:19 ID:???]
Java1.4で全画面アプリとか作れるようになったけど、
結局はやってないのかな。

205 名前:名前は開発中のものです。 mailto:sage [02/11/09 23:32 ID:???]
もうすぐCPUが60GHzくらいになるから気にならなくなるよ

206 名前:名前は開発中のものです。 mailto:sage [02/11/10 12:51 ID:???]
Javaが遅く見えるのは起動時間とGUIのせいなので
現状でもそんなに使えないわけではないよ。


207 名前:名前は開発中のものです。 mailto:sage [02/11/10 14:15 ID:???]
起動時間とGUIが遅いって致命的臭いんですが

208 名前:名前は開発中のものです。 mailto:sage [02/11/10 21:47 ID:???]
ゲームにとっては致命的とはいえないでしょ。
1.4からはゲームに使えるような機能の拡張もあったし。

とはいえ、ランタイムがほとんどのOSで標準ではないという、こっちは致命的っぽい問題があるんだが…。

209 名前:名前は開発中のものです。 mailto:sage [02/11/11 20:51 ID:???]
起動時間 : lazyなクラスロードを行う事で、ごまかす事は十分可能。
GUI : SWTという早くて恰好良い(Java臭くない)GUIのツールキットがある。アルファブレンド使えるし。
ランタイム : 配布パッケージに含めてしまう。10MBくらいしかないので、大作だったら誤差の範囲内。

・・・負け惜しみ臭いモナー

210 名前:名前は開発中のものです。 mailto:sage [02/11/11 21:18 ID:???]
>>209
まぁ、アプレットだとそうだよなー
Javaアプレットゲームなんて昔のショックウェーブに次いでショボゲーの代名詞だし。
というかちっともスタンドアロンのほうが立ち上がらないほうが問題?

211 名前:名前は開発中のものです。 mailto:sage [02/11/12 18:39 ID:???]
>>210
Java好きだけど、スタンドアロンが立ち上がる(ex.最新JREのPC普及率が5割を突破する)のは
もうあり得ないだろう。Javaの生みの親がSUNじゃなくてIBMだったら・・・と思うことしきり。
それに、生産性が高くてスタンドアロンのゲームが作れる言語と言えば、
Javaはいまやその代表の座をC#に譲っているからね。

生産性が高くてスタンドアロンでマルチプラットフォーム、という限定をつけたら
まだJavaがトップを突っ走っているとは思うけど、ゲームってマルチプラットフォームで
ある必要性が基本的に存在しない分野だからなぁ。

212 名前:名前は開発中のものです。 mailto:sage [02/11/12 19:19 ID:???]
>Javaはいまやその代表の座をC#に譲っているからね。
C# ってゲームにおいては Java の座を継いだのか…
それはそれで哀れだなぁ…
代表ゲームが Robocode と Terrarium だからまぁ、
どっちもどっちなんだけど。

213 名前:名前は開発中のものです。 mailto:sage [02/11/13 00:20 ID:???]
>>212
いや、C#を褒めるつもりで書いたんだけど・・・
でもC#はJavaの座を継承した、というのは誹謗中傷に近い発言だったかも。

C#って、Javaよりも生産性が高く、しかもWindowsべったりだから高速で、
セキュリティには無関心だけどパフォーマンスとUIには力を入れるMSが
オーナーだから、ゲームに凄く向いていると思うのですよ。

といいつつ僕はJavaでへこへこ書いてるんだけどね。



214 名前:名前は開発中のものです。 mailto:sage [02/11/13 01:45 ID:???]
というか、リアルタイムゲームで実際GCってどれくらい問題になるんだろう?
大きめなやつを書いたことが無いから分からん。


215 名前:名前は開発中のものです。 mailto:sage [02/11/13 09:11 ID:???]
JavaはCOBOLを継承したからねえ。

>>214
急に描画が止まったり、フレームレートが揺らいで
ユーザーにとって不快、という問題につきますな。

GCなくてもそうなるヘボいプログラムばかりなので、
ちょっとぐらいよさそうな気がしますが(汗)

C#+DX9でどれくらい行けるかが注目してます。

Javaアプレット?
何年たってもあのままじゃあ誰も使わなくなるって。

216 名前:名前は開発中のものです。 [02/11/13 12:14 ID:d9pe3DQB]
>>214
何か大きな変更を加えたり、VMの種類やバージョンが変わるたびに
GCで引っかかるポイントが変わるのでブチ切れそうになります。
確実な回避方法がないだけにいっそう。

217 名前:名前は開発中のものです。 mailto:sage [02/11/13 12:19 ID:???]
ふむ。
スムーズな動きが必須のゲーム(格闘ゲームやシューティングとか)は
作りにくいって事かな。

ところでC#もGCあるよね?

218 名前:名前は開発中のものです。 mailto:sage [02/11/13 17:37 ID:???]
GC ってオブジェクト使いまわしとかじゃ回避できないモンなの?

219 名前:あぼーん mailto:あぼーん [あぼーん]
あぼーん

220 名前:名前は開発中のものです。 mailto:sage [02/11/13 21:54 ID:???]
>>218
ライブラリが使いしてたら自分が使いまわしても意味ないし…。


221 名前:あぼーん mailto:あぼーん [あぼーん]
あぼーん

222 名前:名前は開発中のものです。 mailto:sage [02/11/14 07:51 ID:???]
>>220
なるほど。

223 名前:名前は開発中のものです。 mailto:sage [02/11/14 08:08 ID:???]
>>220
それだと API 内部の挙動がバージョン毎に
違うのが問題で、GC だけどうにかすれば良いってモンでも無いような。

そーゆー意味では C# は GC があっても Java よりは相当楽だろうね。



224 名前:名前は開発中のものです。 mailto:sage [02/11/14 12:11 ID:???]
>そーゆー意味では C# は GC があっても Java よりは相当楽だろうね
C#はバージョンごとに共同が違ったりしないの?

225 名前:名前は開発中のものです。 [02/11/14 12:15 ID:n6HwOeB2]
C#については優秀なDirectXチームがついてるから
それなりにリアルタイムゲーム方面も考慮してくれるんじゃないかと。
俺は人柱になる気はないけどね。

226 名前:名前は開発中のものです。 mailto:sage [02/11/14 13:05 ID:???]
>>215
> 何年たってもあのまま
な責任の10%くらいはMicrosoftにあるかと。
90%くらいはSunの自爆だが

227 名前:あぼーん mailto:あぼーん [あぼーん]
あぼーん

228 名前:名前は開発中のものです。 mailto:sage [02/11/14 19:15 ID:???]
だから、ageないでくれぇ

229 名前:名前は開発中のものです。 mailto:sage [02/11/14 20:58 ID:???]
> C#はバージョンごとに共同が違ったりしないの?

まだバージョンが少ない(藁
M$が事実上独占してるしなあ・・・

Server版の.NETランタイムはGCの挙動がチト違うそうだ。
違いをたしかめたわけじゃないけど。

230 名前:あぼーん mailto:あぼーん [あぼーん]
あぼーん

231 名前:名前は開発中のものです。 mailto:sage [02/11/15 12:36 ID:???]
>>229
これからバージョンが増えてってWin32 APIの悪夢が
再来することは目に見えてるだろ
JavaだってSunが事実上独占してるけど(ry

232 名前:あぼーん mailto:あぼーん [あぼーん]
あぼーん

233 名前:名前は開発中のものです。 mailto:sage [02/11/15 21:29 ID:???]
事実上SunとIBMのVMしか使われてないからなあ・・・



234 名前:あぼーん mailto:あぼーん [あぼーん]
あぼーん

235 名前:名前は開発中のものです。 [02/11/15 22:02 ID:19ikqMY5]
JDK1.4 でつくったアプレットが古いJREだと動きません。
だれが助けてください。

236 名前:あぼーん mailto:あぼーん [あぼーん]
あぼーん

237 名前:名前は開発中のものです。 mailto:sage [02/11/16 01:28 ID:???]
>>235
複数の原因が考えられるので、答えるのが面倒くさい。

238 名前:あぼーん mailto:あぼーん [あぼーん]
あぼーん

239 名前:名前は開発中のものです。 mailto:sage [02/11/16 04:22 ID:???]
ageた奴はこのスレに対する破壊行為者として認定。

240 名前:あぼーん mailto:あぼーん [あぼーん]
あぼーん

241 名前:age [02/11/18 03:43 ID:hCRk4P1V]
>>74
私も同じ問題で困っていました。おかげで、アプレットがFlashに置き換えを
迫られてしまい、非常に悲しい思いをしていました。
Thinkpad Windows2000
○MicrosoftVM 5.0
○Sun 1.3.1_05
×Sun 1.4.0_02
○Sun 1.4.1
以上の環境の×がついている環境でふんづまりが起きています。
バージョンによってMemoryImageSourceの使用方法が悪いと固まるようです。
以上の環境で問題なく動作する変更方法を見つけましたので報告しておきます。
@MemoryImageSourceをnewするときに
 DirectColorModel(24, 0xff0000, 65280, 255)を用いる。
AMemoryImageSource#newPixcelsメソッドを使う。
Open-Programingの例に修正方法を書きます。


242 名前:age [02/11/18 03:44 ID:hCRk4P1V]
source002のRender.java
static final public void EndScene(Applet applet,Graphics offscreen)
{
offscreen.drawImage(applet.createImage(new MemoryImageSource(BUFFERW,BUFFERH,pbuf,0,BUFFERW)),0,0,null);
}

static boolean initf=false;
static MemoryImageSource mis;
static Image img;
static final public void EndScene(Applet applet,Graphics offscreen)
{
if(initf==false){
mis=new MemoryImageSource(BUFFERW,BUFFERH,new DirectColorModel(24, 0xff0000, 65280, 255),pbuf,0,BUFFERW);
img=applet.createImage(mis);
mis.setAnimated(true);
mis.setFullBufferUpdates(true);
initf=true;
}
mis.newPixels();
offscreen.drawImage(img,0,0,null);
}

243 名前:あぼーん mailto:あぼーん [あぼーん]
あぼーん



244 名前:名前は開発中のものです。 mailto:sage [02/11/18 05:31 ID:???]
>>241
それってディスプレイの設定が24bitカラーのときっすか?

245 名前:sage [02/11/18 06:07 ID:hCRk4P1V]
>>244

いや、内部形式として、24bitカラーとして扱う場合です。
いちお、256色モードのときも試してみました。
MicroSoftだと、ディザ256で、Sunだと、タイリング256で表示されました。
通常のnew MemoryImageSource()だと、32bitカラーで、上位8bitがαチャンネル
として認識されるので固まるときがあるのではないかなぁと思います。


246 名前:名前は開発中のものです。 mailto:sage [02/11/18 06:09 ID:???]
あ、名前の欄にsageっ手書いてしまった。
鬱だ氏脳。

247 名前:名前は開発中のものです。 mailto:sage [02/11/18 06:21 ID:???]
>>245
>通常のnew MemoryImageSource()だと、
>32bitカラーで、上位8bitがαチャンネルとして認識される
のは知ってるんだけど、
>ので固まるときがある
とどう結びつくのかが良くわからん。詳しい人解説キボンヌ。
Java内部でアルファブレンドしようとするので遅くなるとか?

248 名前:名前は開発中のものです。 mailto:sage [02/11/18 06:36 ID:???]
www.gimlay.org/~andoh/hatena/JavaPerformanceTuning/newsletter009.html

最後に、パフォーマンス・フォーラムの外では Niels Jorgensen が、
アルファ・チャネル(alpha channel)を使わず、
MemoryImageSource.newPixels()と一緒に
DirectColorModel(new DirectColorModel(32,0x00ff0000,0x0000ff00,0x000000ff))
を使用したところ、デフォルト・カラーモデルを使用する場合に較べてどれほど画像描画が
著しく速くなったかについて説明していました。
そのスレッド( JavaGaming.Org Message Board: 2D Graphics Programming in Java: AWT: Oddities of drawImage() )
には newPixels() の使い方についてのより詳細な内容があります。



249 名前:名前は開発中のものです。 mailto:sage [02/11/18 06:39 ID:???]
www.javagaming.org/discus/messages/2/113.html

Yieeeha!

If anyone else out there has similar problems, try this, after creating the MemoryImageSource:

cm=new DirectColorModel(32,0x00ff0000,0x0000ff00,0x000000ff);
memimgsrc.newPixels(aPixels,cm,0,iW);

Subsequent calls to newPixels does not need the color model (Once set, it appears as if the MemoryImageSource keeps on using it)...

とか書いてあります。よくわからないけど、
32bitのほうが速いのかなぁ???謎。


250 名前:あぼーん mailto:あぼーん [あぼーん]
あぼーん

251 名前:名前は開発中のものです。 mailto:sage [02/11/18 07:19 ID:???]
>>249
実験できるソースがあるんだったら 24bit と 32bit で
実験して報告してホスィです。あんま変わらん気もするけど。

javagaming.org って Java2D チームの人とか書いてるのか…
しっかし nativeの英語はわからんっす。
辞書に載ってない単語とか、誤字なのか、造語なのか区別つかんし。


252 名前:名前は開発中のものです。 mailto:sage [02/11/18 08:45 ID:???]
ベンチとって見ました。
@newPixcelsをひたすら1000回やった場合のスピード
A表示しながらテスト。
B表示しながら、gc。
◆32bit 640x480
MS @5958ms,A66.6fps
131 @6829ms,A?すぐ遅くなる
140 @5458ms,A47.6fps(しばらくすると遅くなる)
141 @5358ms,A43.5fps(しばらくすると遅くなる)
◆24bit 640x480
MS @5748ms,A最大66.6fps
131 @6449ms,A最大62.5fps(しばらくすると遅くなる)
140 @5408ms,A最大41.6fps(しばらくすると遅くなる)
141 @5588ms,A最大50fps(しばらくすると遅くなる)
◆パラメータなし
MS @15642ms,A62.5fps
131 @18206ms,A50.0fps(カクカク)
140 @5428ms,A55.5fps(カクカク)
141 @5428ms,A83.5fps(カクカク)

24bitが速そう。
ウェイトなしでぶん回してしばらくたつと遅くなってしまうので、
sleepをかませないとうまく行かないようだ。
どうして、sleepを入れないといけないのかはわからない。
謎が多いなぁ。


253 名前:名前は開発中のものです。 mailto:sage [02/11/18 09:53 ID:???]
>>252
ご苦労様です。



254 名前:名前は開発中のものです。 mailto:sage [02/11/18 14:35 ID:???]
謎がある程度、解けてぶん回しても大丈夫になりました。
◆問題点
@MemoryImageSource#newPixcels()等を使うと、ImageObserver#imageUpdate()が呼ばれupdateが呼ばれてしまう。
 createImageでAppletをImageObserverに指定しているので、update()、paint()と呼ばれてしまうので無駄に処理が走る。
Asleep無しでぶん回すとrepaint()を呼ぶrun()とpaint()で同期を取っていないので
 paintでimageアクセス中にrun内でimageに追いついて衝突するため、カクカクしたり、止まったりしていた。
◆解決方法
@は、imageUpdate()をオーバーライドし何も処理しないようにする。
Aは、同期を取るか、getGraphicsメソッドで、Graphicsオブジェクトを取得し直接アプレットに描画する。
 前者は、デッドロックの可能性があるので注意が必要。
 後者は、update,paintを呼ばれたときに、何もしないようにするのがよいが、fpsが遅い場合に、他のウィンドウを
 上に乗せた場合に気になる。


255 名前:あぼーん mailto:あぼーん [あぼーん]
あぼーん






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<152KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef