BufferedImage
一度に表示するには大きすぎるオフスクリーンがあります。getSubimage
そのため、画像全体の一部を描画するために使用しています。setClip
onGraphics
を使用すると、使用するリソースが少なくなるかどうか疑問に思っています。ドキュメントには、「レンダリング操作はクリッピング領域の外では効果がありません」と書かれています。クリップを使用した場合とクリップを使用しなかった場合の違いはどれくらいですか?
質問する
2430 次
1 に答える
3
Graphics
オブジェクト (たとえば a ) にクリップを設定Rectangle(0, 0, 100, 100)
し、同じGraphics
オブジェクト (たとえば 300x300 のサイズの画像) で画像を描画すると、クリップの外側にある画像の部分が省略されます。この例では、左上の 100x100 コーナーのみが描画されます。
これの主な利点は、描画プロセスが大幅に高速化されることです。ただし、それがどのように高速化するかについてはよくわかりません。実際のところ、私は今これを探していました。
いずれにせよ、これはフル スクリーン ゲームの設計に非常に便利であることがわかりました。画面に描画するクリップを効率的に作成すればするほど、ゲームはよりスムーズに実行されます。画面コンポーネントがしばらく更新されていない場合、クリップは空のままになり、何も描画されず、ゲーム ロジック用のリソースが残ります。
于 2012-08-03T22:51:14.050 に答える