3

UIレンダリングに外部画像を使用するJava 2Dレンダリングプログラム(1.6.0_11で実行)に取り組んでいます。これらの大きな画像には、複数の UI グラフィックス パーツが同時に含まれており、BufferedImage.getSubimage() を使用して抽出しています。平均的なデスクトップ システム (DirectX/OpenGL アクセラレーションを有効にしない) を想定すると、私の質問は次のとおりです。

  • getSubimage() は、基になる画像データを共有するため、メモリ効率の良い呼び出しですが、Graphics2D.drawImage() を使用したこれらのサブ画像のレンダリング速度に影響しますか?
  • 画像が 1 ピクセルあたり 8 ビットのカラー パレット モードを使用している場合、RGBA モードの使用 (例: 4x メモリ) またはパレット カラー モデル (例: 変換時間) の使用による利益/損失はどうなるでしょうか?
4

1 に答える 1

1

私の知る限りgetSubimage(...)、レンダリングに大きな影響はないはずです。

画像データの変換には時間がかかるため、通常はその場で変換しないようにすることをお勧めします。


画像の場合、速度低下は 2 つのカテゴリに分けられます。

  • ディスク I/O
  • 情報処理

そして、ディスク I/O は簡単に最も遅い部分になる可能性があります。

イメージの一部のみを使用する場合は、イメージの一部のみをディスクからロードできるようにすることをお勧めします。

私の経験では、JAIは標準ライブラリよりも本当に必要なことだけを行う方が優れています。

于 2009-02-05T18:50:24.990 に答える