我正在寻找一种有效的方法来检测渲染的离散阶段之间对Graphics2D对象的任何更改(这样我可以通过在发现第一个“无变化”后中止更多多余的阶段来进行优化)。
有没有办法比较内存,或者校验和,或任何其他方式来比较两个状态,以识别(或排除)变化?
答案 0 :(得分:1)
根据您生成图形上下文的上下文,可能,但我会非常高效。
相反,您可以维护“当前状态”BufferedImage
,当您更新模型时,让它确定是否发生了任何更改。如果模型已更改,请创建一个临时BufferedImage
,重新呈现此新状态,然后将其分配给“当前状态”BufferedImage
。
每次要渲染到屏幕时,只需使用“当前状态”BufferedImage