4
我有一個屏幕BufferedImage
太大,不能一次顯示。所以我使用getSubimage
來繪製整個圖像的一部分。我想知道在Graphics
上使用setClip
會使用更少的資源。文檔說「渲染操作在剪輯區域外沒有任何效果」。如果我使用剪輯而不使用剪輯,會有多大的差異?Java:在圖形中使用setClip會更高效嗎?
我有一個屏幕BufferedImage
太大,不能一次顯示。所以我使用getSubimage
來繪製整個圖像的一部分。我想知道在Graphics
上使用setClip
會使用更少的資源。文檔說「渲染操作在剪輯區域外沒有任何效果」。如果我使用剪輯而不使用剪輯,會有多大的差異?Java:在圖形中使用setClip會更高效嗎?
當例如一個Graphics
對象–上設置剪輯一個Rectangle(0, 0, 100, 100)
– ,然後與相同Graphics
對象 –例如圖像尺寸300×300 – 其位於外側的圖像部分繪製的圖像剪輯被省略。只繪製示例的左上角100x100的角落。
這樣做的主要優點是它加快了繪圖過程很多。我不太確定它如何使更快;事實上,我現在正在看這個。
無論如何,我發現這在設計全屏遊戲時非常方便。使您的剪輯畫在屏幕上的效率越高,遊戲運行的越平滑。當一段時間沒有更新屏幕組件時,剪輯保持空白,不會畫任何東西,併爲遊戲邏輯留下資源。
還有一點提示:Area對象也可以用作剪輯。區域可以被添加,減去,相交等。這樣,您可以以任何喜歡的方式構建剪輯。 – Pino 2012-08-03 22:55:56
有沒有人知道加速是剪輯區域還是邊界框區域的函數? (思考drawImage(..)。) – 2013-05-13 08:23:56