检测Java中Graphics2D对象的更改

检测Java中Graphics2D对象的更改,java,compare,state,graphics2d,Java,Compare,State,Graphics2d,我正在寻找一种有效的方法来检测Graphics2D对象在离散渲染阶段之间的任何更改(这样,一旦发现第一个“无更改”,我就可以通过中止更多多余的阶段来进行优化) 是否有一种方法可以比较内存,或者校验和,或者任何其他方法来比较两种状态,以便识别(或排除)更改?可能取决于生成图形上下文的上下文,但我会非常高效 相反,您可以维护一个“当前状态”buffereImage,当您更新模型时,让它确定是否发生了任何更改。如果模型已更改,请创建一个临时的BufferedImage,重新呈现此新状态,然后将其指定给

我正在寻找一种有效的方法来检测Graphics2D对象在离散渲染阶段之间的任何更改(这样,一旦发现第一个“无更改”,我就可以通过中止更多多余的阶段来进行优化)


是否有一种方法可以比较内存,或者校验和,或者任何其他方法来比较两种状态,以便识别(或排除)更改?

可能取决于生成图形上下文的上下文,但我会非常高效

相反,您可以维护一个“当前状态”
buffereImage
,当您更新模型时,让它确定是否发生了任何更改。如果模型已更改,请创建一个临时的
BufferedImage
,重新呈现此新状态,然后将其指定给“当前状态”
BufferedImage


每次您想要渲染到屏幕上时,只需使用“当前状态”
buffereImage

,这可能取决于生成图形上下文的上下文,但我会非常高效。相反,您可以在碘化模型时维护状态的BuffereImage,让它确定是否发生了任何更改,并确定是否需要创建新的BuffereImage。谢谢,MadProgrammer。你能给我一个BuffereImage解决方案的一般例子作为答案吗?我现在已经解决了,但只是因为我听从了你的建议。我愿意接受一个答案,所以如果可以的话,请提供一些答案——即使只是复制和粘贴你的评论。我会给它几天,并提供我所做的,如果没有。谢谢。深度调试会话,尽量不要分心;)