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


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

Javaゲーム作成総合スレ



174 名前:名前は開発中のものです。 mailto:sage [2009/01/08(木) 21:43:50 ID:4pdEl9iG]
突然喧嘩口調のレスが来たから何事かと思って変なレスしてしまった。ただの人違いか。
特に>>170が誰宛なのか判らずに悩んだ。>>168はjoglの人とは別人なんだけど。
>だからその程度の技術力しかないなら、普通にJava API(高度に抽象化したAPI)を
そのJava APIの話が>>168。java.awt.*とjava.awt.image.*を参照。
あと、「だからその程度の技術力」の根拠詳しく。joglの人と間違えたんだと思うけど。
>確かjdk1.5ではBufferedImageは全てキャッシュされるって書いてあったから、その指摘も数年で色あせ
createCompatibleWritableRasterは0で初期化したラスターを返す。(これは仕様)
つまり、憶測通りBufferedImageがキャッシュされるとしても、
全画面を黒く塗り潰す処理を何度も実行したのと同じ負荷がかかる。
これを防ぐには、無駄な領域を確保せず、staticなソフト参照を使って使い回す必要がある。
それにはGeneralCompositePipeの修正が必須。数年で色あせてくれるんなら助かるんだけど。
>そもそもjava.awtパッケージなのに、内部実装sun.*パッケージのソースにいちゃもんつけてるし、結局おまえじゃ何も出来
java.awt.image.Rasterの方は修正すると既存のプログラムに影響しうる。変更は望めない。
sun.java2d.pipe.GeneralCompositePipeの内部処理を変更するべき。
あと、デバッグツールによりsun.awt.image.WritableRasterNative.setPixels()が遅い事が分かっている。
DataBufferNativeが関係している可能性がある。これは自分の環境が悪い可能性が高いけど。
何もできないのは同意。これを修正できるのはVMの開発者だけ。バグ報告も自力じゃ無理。

あと、BufferdImage.getRGBのソースを見たけど、内部で同じメソッドを呼んでいるから速度は大して変わらない。

>>172
ゲームのエフェクト等に有効な加算合成がJava2Dに搭載されていないから、
自前でCompositeを用意して解決しようとしたら異常な遅さで困った。
一番重い筈のcompose()の中身を全部コメントアウトしても尚遅いまま。
なかなか原因が分からず、苦労している内にGeneralCompositePipeのバグに到達した。
AlphaComposite以外を使うと異常に遅くなるのは主にこの手抜き実装のせい。
この事を話す機会が無かったからつい。ゲームは作れないけど知識は凄いよ。






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

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

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