我的屏幕外BufferedImage
太大,无法一次全部显示。所以我getSubimage
用来绘制整个图像的一部分。我想知道使用setClip
on 是否Graphics
会使用更少的资源。文档说“渲染操作在剪切区域之外没有影响”。如果我使用剪辑与不使用剪辑会有多大区别?
问问题
2430 次
1 回答
3
当您在Graphics
对象上设置剪辑(例如 a Rectangle(0, 0, 100, 100)
),然后使用相同的Graphics
对象绘制图像(例如大小为 300x300 的图像)时,将省略位于剪辑之外的图像部分。只会绘制示例的左上角 100x100 角。
这样做的主要优点是,它大大加快了绘图过程。我不太确定它是如何让它更快的;事实上,我现在正在查找这个。
无论如何,我发现这在设计全屏游戏时非常方便。您制作的剪辑绘制到屏幕上的效率越高,您的游戏运行就越流畅。当一段时间内没有更新屏幕组件时,剪辑保持空白,不绘制任何内容并为游戏逻辑留下资源。
于 2012-08-03T22:51:14.050 回答