我的屏幕外BufferedImage
太大而无法一次显示。所以我使用getSubimage
绘制整个图像的一部分。我想知道在setClip
上使用Graphics
是否会使用更少的资源。文档说“渲染操作在裁剪区域之外没有影响”。如果我使用剪辑而不使用剪辑会有多大差异?
答案 0 :(得分:3)
在Graphics
对象上设置剪辑时 - 例如Rectangle(0, 0, 100, 100)
-
然后使用相同的Graphics
对象绘制图像
- 例如图像大小为300x300 -
图像中位于剪辑外部的部分被省略。仅绘制示例的左上角100x100角。
这样做的主要优点是,它可以加快绘图过程很多。我不太确定如何它使它更快;事实上我现在正在考虑这个问题。
无论如何,我发现这在设计全屏游戏时非常方便。您制作剪辑到屏幕的效率越高,游戏运行越顺畅。当没有任何东西更新屏幕组件一段时间时,剪辑保持为空,不抽取任何内容并为游戏逻辑留下资源。