トップページgamedev
559コメント205KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。01/11/08 23:35ID:kmeAWDum
PCのブラウザで出来ることは全てやりつくされた?
なんか凄いの作れないの?
もう携帯だけの過去の遺物?
0160名前は開発中のものです。02/05/31 13:46ID:???
JavaPlug-inは起動にかなり時間がかかるし、今のところ好かれる存在とは思えないよ。
0161名前は開発中のものです。02/05/31 14:15ID:???
>>159
適当に試したがあっさりフリーズした。
0162名前は開発中のものです。02/05/31 15:08ID:???
うちの環境では、複数のウィンドウを開いたりアクティブな窓を切り替えたりしてるとJavaPlug-inがIEごと固まる事がよくあります。安定して動作する環境もあるんでしょうけど・・・・
古いバージョンのJREじゃないと動かないアプレットがあったり、JavaPlug-inの自動インストール(バージョンアップ)中に古いプラグインのアンインストールに失敗して中断してしまったり、なにかと問題が生じてます。
Sunだけの問題では無いでしょうけれど、期待してるだけに、もちょっとなんとかならないかなぁと思います。
0163名前は開発中のものです。02/05/31 22:25ID:9ytySeJE
>>124
エロゲをネットでやるのは技術面より改正風営法か何かの関係で面倒だとか
0164名前は開発中のものです。02/05/31 22:26ID:???
>>155
で、インストールを前提とするならFlashでもActiveXでもいいじゃん、
と無限ループ
0165名前は開発中のものです。02/05/31 22:49ID:???
ActiveXは・・・・
0166名前は開発中のものです。02/05/31 23:20ID:???
>>160
未だにISDNだから、起動時間より
アプレットの読み込み時間のほうが長いっす。
0167名前は開発中のものです。02/06/01 00:18ID:???
>>166
ちなみに最近のJavaPlug-inはclass、jar、その他リソースをキャッシング出来るの知ってる?
当然キャッシュがきかない場合(1回目他)は意味無いけど。

うちの場合はプラグイン起動に5秒くらいかかるかな?
例えばBizTechのページとか見に行くと、プラグインの起動が終わるまでリンクなどがアクセス不能で待っていなくちゃならない。かなりストレス。
一度起動しちゃえば気にならないんだけど。
(BizTechサイトではJava使ってユーザーのトラッキングしてるらしい)
0168名前は開発中のものです。02/06/01 11:42ID:zMTxHoSs
ぢゃぱ1.4てどんなのか全然わからない。
噂では表示が高速化されて3Dのゲームも作れるようになる
とか言われてたけど。

どこかにくわしく説明してるとこないですか。
チップス集とか。
0169名前は開発中のものです。02/06/01 12:43ID:???
http://java.sun.com/j2se/1.4/ja/
http://java.sun.com/j2se/1.4/ja/docs/ja/relnotes/features.html

どこかって、少なくとも本家のサイトには行ったんだよね?
3Dのゲーム云々って、どこで言われてたの?
0170名前は開発中のものです。02/06/01 20:22ID:???
1.4のVolatileImage関連は
http://www.javagaming.org/
にサンプルと解説があるよ。
実際になんか書いてみるならjava.awt.image.BufferStrategy使うのが楽。

1.4での3Dの強化って言うのは多分DirectBuffer使って
OpenGLラッパーが高速になるって話だと思う。これ↓
http://java.sun.com/products/jfc/tsc/articles/jcanyon/
0171名前は開発中のものです。02/06/02 15:45ID:???
>>167
最新の1.4でもURLの末尾が.jarか.classで終わってないとキャッシュしない。
まあ.jarに必要なリソース全部ブチ込めば済む話だけど
0172名前は開発中のものです。02/06/04 05:06ID:???
そーいやアプレットで jar ファイルから
リソース読めないってバグがあったような…
0173名前は開発中のものです。02/06/22 10:44ID:4frAFN1U
まだだ、まだおわらんよ
http://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) から反トラスト法違反訴訟を起こされており、打開策をさぐっているのがうかがえる。
0174名前は開発中のものです。02/06/22 10:51ID:???
バージョンが1.1.4という罠
0175名前は開発中のものです。02/06/22 11:09ID:dD3kwTx.
どのみち2003年12月31日までの命という罠
http://itpro.nikkeibp.co.jp/free/NT/NEWS/20020619/3/index.shtml
0176名前は開発中のものです。02/06/22 12:02ID:1339MhGY
>>160

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

やる気無いとしか思えなかったね。JRE1.4 は、確か、ディフォルトでは Java コンソール
起動しないから、割と起動が速い。
0177名前は開発中のものです。02/06/22 12:03ID:1339MhGY
Applet 含んでいなくても -> Applet に Swing 含んでいなくても
0178名前は開発中のものです。02/06/22 13:54ID:???
>>171
そう?ウチのキャッシュ見たらgifやjpgがかなり溜まってたよ
0179名前は開発中のものです。02/06/22 15:34ID:???
>>178
ブラウザ一般のキャッシュとごっちゃにしてないか?
ブラウザが直接読み込んだ画像はもちろんキャッシュされるが
Java Plug-inは利用しないから意味ない。
少なくとも漏れの場合は実際にキャッシュしてくれなかったから
URLの末尾に ?x=.jar を付けるとかの回避策が必要になった。
それがバグなのか仕様なのか調べて発見したソース↓
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/plugin/developer_guide/disk_caching.html#How
http://java.sun.com/products/plugin/1.3/docs/ja/cache.html#How
018017802/06/26 01:17ID:???
>>179
>ブラウザ一般のキャッシュとごっちゃにしてないか?

はぁ・・・・・脱力・・・・
ちなみにウチのキャッシュのディレクトリは・・・・
C:\WINDOWS\.jpi_cache\file\1.0
だよ。
コントロールパネルから「キャッシュビューア」で確認しても、種類がJPEGやGIFのファイルが沢山溜まってるよ。
Javaコンソールでも(トレースレベル1以上で)
「キャッシュから http://xxxxx.xxxxx.xx/xxx.gif をロードしています」
ってメッセージが確認できるし。実際そうなんだから仕方ないよ。
0181名前は開発中のものです。02/06/26 21:52ID:???
もしかしてこっちのキャッシュの話ですか
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/plugin/developer_guide/applet_caching.html

話は変わるがキャッシュディレクトリのパスが予測可能というのは
ある種の攻撃が可能になりそうでフアーン
http://memo.st.ryukoku.ac.jp/archive/200205.month/3953.html
0182名前は開発中のものです。02/06/26 22:32ID:???
>>180
確認した。確かに.jpgや.gifはキャッシュされてた。
つまりドキュメントが古いままなのか。スマソ。
でも漏れの場合必要だったのは.lzhで、これは相変わらずディスクには
キャッシュされなかった。これも確認したから間違いない。
なんかメモリにはキャッシュされてるっぽいけど。

ファイル名の後ろにランダムな文字列がつくからローカルファイル起動は大丈夫だな。
0183名前は開発中のものです。02/06/26 22:43ID:???
>>182
lzhって…
kiss でも作ってんの?
0184名前は開発中のものです。02/06/27 22:55ID:???
http://java.sun.com/products/javawebstart/ja/index_ja.html
Java Web Start バージョン 1.2 Beta のダウンロードが可能になりました。

MacOSでは標準インストールされているらしい、"Java Web Start"。
Windowsマシンでの普及率は・・・・・・・・
キラーアプリが現れればイッキに普及もあり得るけど、現状のJavaじゃ苦しいでしょうねぇ。Web Start 自体の熟成度もまだイマイチっぽいし・・・・
0185名前は開発中のものです。02/06/28 00:37ID:???
そんなセキュリティーホールになりそうなヤバイものを入れるわけないでしょ
0186名前は開発中のものです。02/06/28 00:42ID:???
>>185
どのへんがセキュリティホールになるんでしょうか?
0187名前は開発中のものです。02/06/29 14:36ID:???
半端な知識を持ったユーザーにとってセキュリティホールになりえるとは思えますよ。
「*.exeは安易にダウンロードして実行しては危ない」という知識はある。けど
「Javaは安全」のような、誤った認識を持っていたりした場合。
Web Start アプリケーションには、ローカルリソースにフルアクセスする権限を持たせる事も出来る。確か権限を与えて良いかどうかなどの確認を求めてくると思ったけど、知識の無いユーザーがそんな事聞かれても困っちゃう訳で。
*.exeをダウンロードして実行するのは危ないって言い聞かされてたけど、Javaは安全らしいし、ウィルス検知ソフトもインストールしてあるし・・・・みたいな。
ブラウザ上のリンクをワンクリックして自動インストールされたJavaアプリの安全性なんて、普通のユーザーには解らないだろうから。
>>185も、そのレベルのユーザーであると自分を認識できているという事では。
或いは、アクセス制限を課せられているはずのアプリが制限以上の権限を持ってしまうセキュリティホールがあるだろうって事だろうか?

個人的には Web Start は便利なシステムになり得ると思う。可能性として。特に会社内のイントラシステム向けアプリの自動配布(アップデート)に便利かなと。
けど、現状のクライアントサイドJavaアプリのパフォーマンスはどうも。GUIの応答速度とか。なぜJavaで組んだのかと、ユーザーから不評を買いそう。
018818702/06/29 14:40ID:???
....っていうか、186の反応がやけに早いね。sage進行スレの割にさ。自己ツッコミ(自作自演)だろうか....
0189名前は開発中のものです。02/06/30 03:29ID:???
なんだかんだで結局、今ネットで大流行してるのは
脱衣ブロック崩しなんだよな…
0190名前は開発中のものです。02/06/30 04:12ID:???
>>189
Javaアプレットの?
0191名前は開発中のものです。02/06/30 11:29ID:???
> 「Javaは安全」のような、誤った認識を持っていたりした場合。

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

一般向けにJavaとは何かを紹介したオンラインの記事があったら、見てみたいな。どんな風に紹介されているんだろう。
やっぱり「巨大企業マイクロソフト対その他大勢」的な記事の一部で触れられる事が多いのかな。
0193名前は開発中のものです。02/07/04 23:43ID:???
>>192
いや結構流行ってるぞ
俺ニュースあたりを見ると2、3日に1回ぐらいで脱衣ブロック崩しのニュースが入るぞ。
0194名前は開発中のものです。02/07/05 11:58ID:???
俺ニュースってなんすか?
0195名前は開発中のものです。02/07/05 14:38ID:???
検索しなさい。
0196名前は開発中のものです。02/07/05 21:34ID:???
>>193
192は189へのレスじゃないぞ。よく読め。
019719402/07/07 23:45ID:???
http://www13.xdsl.ne.jp/~techle/
俺ニュースってコレであってる?
0198名前は開発中のものです。02/08/08 22:00ID:???
ageてみる。
0199名前は開発中のものです。02/08/08 22:21ID:???
空ageは、
バカの習性。

バカの習性。
0200◆sA5ZfsnM02/08/08 23:03ID:???
200
0201名前は開発中のものです。02/11/03 01:58ID:???
Javaも各OSにプリインストールっていうことにしてほしい。
SUNも変な意地張らないでさ。
020220102/11/03 01:59ID:???
そうすれば、もう少し使えるのに…。
0203あぼーんNGNG
あぼーん
0204名前は開発中のものです。02/11/03 21:19ID:???
Java1.4で全画面アプリとか作れるようになったけど、
結局はやってないのかな。
0205名前は開発中のものです。02/11/09 23:32ID:???
もうすぐCPUが60GHzくらいになるから気にならなくなるよ
0206名前は開発中のものです。02/11/10 12:51ID:???
Javaが遅く見えるのは起動時間とGUIのせいなので
現状でもそんなに使えないわけではないよ。
0207名前は開発中のものです。02/11/10 14:15ID:???
起動時間とGUIが遅いって致命的臭いんですが
0208名前は開発中のものです。02/11/10 21:47ID:???
ゲームにとっては致命的とはいえないでしょ。
1.4からはゲームに使えるような機能の拡張もあったし。

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

・・・負け惜しみ臭いモナー
0210名前は開発中のものです。02/11/11 21:18ID:???
>>209
まぁ、アプレットだとそうだよなー
Javaアプレットゲームなんて昔のショックウェーブに次いでショボゲーの代名詞だし。
というかちっともスタンドアロンのほうが立ち上がらないほうが問題?
0211名前は開発中のものです。02/11/12 18:39ID:???
>>210
Java好きだけど、スタンドアロンが立ち上がる(ex.最新JREのPC普及率が5割を突破する)のは
もうあり得ないだろう。Javaの生みの親がSUNじゃなくてIBMだったら・・・と思うことしきり。
それに、生産性が高くてスタンドアロンのゲームが作れる言語と言えば、
Javaはいまやその代表の座をC#に譲っているからね。

生産性が高くてスタンドアロンでマルチプラットフォーム、という限定をつけたら
まだJavaがトップを突っ走っているとは思うけど、ゲームってマルチプラットフォームで
ある必要性が基本的に存在しない分野だからなぁ。
0212名前は開発中のものです。02/11/12 19:19ID:???
>Javaはいまやその代表の座をC#に譲っているからね。
C# ってゲームにおいては Java の座を継いだのか…
それはそれで哀れだなぁ…
代表ゲームが Robocode と Terrarium だからまぁ、
どっちもどっちなんだけど。
0213名前は開発中のものです。02/11/13 00:20ID:???
>>212
いや、C#を褒めるつもりで書いたんだけど・・・
でもC#はJavaの座を継承した、というのは誹謗中傷に近い発言だったかも。

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

といいつつ僕はJavaでへこへこ書いてるんだけどね。
0214名前は開発中のものです。02/11/13 01:45ID:???
というか、リアルタイムゲームで実際GCってどれくらい問題になるんだろう?
大きめなやつを書いたことが無いから分からん。
0215名前は開発中のものです。02/11/13 09:11ID:???
JavaはCOBOLを継承したからねえ。

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

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

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

Javaアプレット?
何年たってもあのままじゃあ誰も使わなくなるって。
0216名前は開発中のものです。02/11/13 12:14ID:d9pe3DQB
>>214
何か大きな変更を加えたり、VMの種類やバージョンが変わるたびに
GCで引っかかるポイントが変わるのでブチ切れそうになります。
確実な回避方法がないだけにいっそう。
0217名前は開発中のものです。02/11/13 12:19ID:???
ふむ。
スムーズな動きが必須のゲーム(格闘ゲームやシューティングとか)は
作りにくいって事かな。

ところでC#もGCあるよね?
0218名前は開発中のものです。02/11/13 17:37ID:???
GC ってオブジェクト使いまわしとかじゃ回避できないモンなの?
0219あぼーんNGNG
あぼーん
0220名前は開発中のものです。02/11/13 21:54ID:???
>>218
ライブラリが使いしてたら自分が使いまわしても意味ないし…。
0221あぼーんNGNG
あぼーん
0222名前は開発中のものです。02/11/14 07:51ID:???
>>220
なるほど。
0223名前は開発中のものです。02/11/14 08:08ID:???
>>220
それだと API 内部の挙動がバージョン毎に
違うのが問題で、GC だけどうにかすれば良いってモンでも無いような。

そーゆー意味では C# は GC があっても Java よりは相当楽だろうね。
0224名前は開発中のものです。02/11/14 12:11ID:???
>そーゆー意味では C# は GC があっても Java よりは相当楽だろうね
C#はバージョンごとに共同が違ったりしないの?
0225名前は開発中のものです。02/11/14 12:15ID:n6HwOeB2
C#については優秀なDirectXチームがついてるから
それなりにリアルタイムゲーム方面も考慮してくれるんじゃないかと。
俺は人柱になる気はないけどね。
0226名前は開発中のものです。02/11/14 13:05ID:???
>>215
> 何年たってもあのまま
な責任の10%くらいはMicrosoftにあるかと。
90%くらいはSunの自爆だが
0227あぼーんNGNG
あぼーん
0228名前は開発中のものです。02/11/14 19:15ID:???
だから、ageないでくれぇ
0229名前は開発中のものです。02/11/14 20:58ID:???
> C#はバージョンごとに共同が違ったりしないの?

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

Server版の.NETランタイムはGCの挙動がチト違うそうだ。
違いをたしかめたわけじゃないけど。
0230あぼーんNGNG
あぼーん
0231名前は開発中のものです。02/11/15 12:36ID:???
>>229
これからバージョンが増えてってWin32 APIの悪夢が
再来することは目に見えてるだろ
JavaだってSunが事実上独占してるけど(ry
0232あぼーんNGNG
あぼーん
0233名前は開発中のものです。02/11/15 21:29ID:???
事実上SunとIBMのVMしか使われてないからなあ・・・
0234あぼーんNGNG
あぼーん
0235名前は開発中のものです。02/11/15 22:02ID:19ikqMY5
JDK1.4 でつくったアプレットが古いJREだと動きません。
だれが助けてください。
0236あぼーんNGNG
あぼーん
0237名前は開発中のものです。02/11/16 01:28ID:???
>>235
複数の原因が考えられるので、答えるのが面倒くさい。
0238あぼーんNGNG
あぼーん
0239名前は開発中のものです。02/11/16 04:22ID:???
ageた奴はこのスレに対する破壊行為者として認定。
0240あぼーんNGNG
あぼーん
0241age02/11/18 03:43ID: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の例に修正方法を書きます。
0242age02/11/18 03:44ID: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);
}
0243あぼーんNGNG
あぼーん
0244名前は開発中のものです。02/11/18 05:31ID:???
>>241
それってディスプレイの設定が24bitカラーのときっすか?
0245sage02/11/18 06:07ID:hCRk4P1V
>>244

いや、内部形式として、24bitカラーとして扱う場合です。
いちお、256色モードのときも試してみました。
MicroSoftだと、ディザ256で、Sunだと、タイリング256で表示されました。
通常のnew MemoryImageSource()だと、32bitカラーで、上位8bitがαチャンネル
として認識されるので固まるときがあるのではないかなぁと思います。
0246名前は開発中のものです。02/11/18 06:09ID:???
あ、名前の欄にsageっ手書いてしまった。
鬱だ氏脳。
0247名前は開発中のものです。02/11/18 06:21ID:???
>>245
>通常のnew MemoryImageSource()だと、
>32bitカラーで、上位8bitがαチャンネルとして認識される
のは知ってるんだけど、
>ので固まるときがある
とどう結びつくのかが良くわからん。詳しい人解説キボンヌ。
Java内部でアルファブレンドしようとするので遅くなるとか?
0248名前は開発中のものです。02/11/18 06:36ID:???
http://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() の使い方についてのより詳細な内容があります。

0249名前は開発中のものです。02/11/18 06:39ID:???
http://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のほうが速いのかなぁ???謎。
0250あぼーんNGNG
あぼーん
0251名前は開発中のものです。02/11/18 07:19ID:???
>>249
実験できるソースがあるんだったら 24bit と 32bit で
実験して報告してホスィです。あんま変わらん気もするけど。

javagaming.org って Java2D チームの人とか書いてるのか…
しっかし nativeの英語はわからんっす。
辞書に載ってない単語とか、誤字なのか、造語なのか区別つかんし。
0252名前は開発中のものです。02/11/18 08:45ID:???
ベンチとって見ました。
@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を入れないといけないのかはわからない。
謎が多いなぁ。
0253名前は開発中のものです。02/11/18 09:53ID:???
>>252
ご苦労様です。
0254名前は開発中のものです。02/11/18 14:35ID:???
謎がある程度、解けてぶん回しても大丈夫になりました。
◆問題点
@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が遅い場合に、他のウィンドウを
 上に乗せた場合に気になる。
0255あぼーんNGNG
あぼーん
0256名前は開発中のものです。02/11/18 21:46ID:???
GUI的なアーキテクチャとゲーム的なアーキテクチャはやっぱり合わないんだなー。
Javaももうちょっとそういう部分を支援すべきかもね。
0257名前は開発中のものです。02/11/19 01:12ID:???
>>256
あわないんだよなぁ。
今流行のSWTなんてGUIに偏りまくってて、ゲームに応用するの辛いんだ。
なんせピクセルの論理演算さえできないという。アルファブレンドはできるのに。
0258名前は開発中のものです。02/11/19 01:50ID:???
色と画像を掛け算しながら描画できないのが痛い・・・
0259あぼーんNGNG
あぼーん
■ このスレッドは過去ログ倉庫に格納されています