0

私は Java Canvas を使用しており、1 秒間に約 20 回呼び出される draw メソッドがあります。画像の配列を反復処理し、ウィンドウ サイズに応じてそれらの scaledInstance を描画します。

g.drawImage(img.getScaledInstance(
                (short)Math.round(rect.width * yVector),
                (short)Math.round(rect.height * yVector),
                Image.SCALE_SMOOTH),
        (short)Math.round(rect.x * xVector),
        (short)Math.round(rect.y * yVector), null);

パフォーマンスは本当に悪いです。私はバッファ戦略を使用しており、これが BufferedImage である画像の宣言方法です。

try {
    image = ImageIO.read(new File("resources/drawable/" + src));
    img = (BufferedImage)image.getImage();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
4

1 に答える 1

0

パフォーマンスの問題はgetScaledInstance. 画像を毎秒 20 回スケーリングしましたが、これはパフォーマンスが高くありません。アプリケーションの位置とサイズは固定されていますが、非常に安定した高い fps レートで実行されます。

于 2014-06-02T06:52:51.290 に答える