画像の拡大、縮小
LG3D でテクスチャを扱うようになってから、画像の拡大や縮小をよく行うようになりました。
画像ビューアーでパフォーマンスが悪いので、どこがボトルネックになるか調べてみたのですが... 当初はテクスチャ生成だろうと予想していたのですが、実際は画像の拡大/縮小の部分だったのです。
このアプリでは AffineTransferOp クラスを使用していたのですが、この処理時間が意外にも長いのです。そこで、Graphics#drawImage(Image image, int x, int y, int width, int height, ImageObserver observer) メソッドを使用するようにしたら見違えるほど早くなりました。
画像の拡大/縮小を行うには
- AffineTransfer + Graphics2D#drawRenderedImage or drawImage
- Graphics#drawImage(Image image, int x, int y, int width, int height, ImageObserver observer)
- BufferedImage + AffineTransferOp
- Raster + AffineTransferOp
- JAI
ぐらいが考えつきます。これでどのくらい速度が違うかは次回以降に。
2004/12/14
今日の Java
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿