Java 多次调用BuffereImage.createGraphics()是否会产生不必要的开销?
我正在使用BuffereImage用Java做一些图形编程。我有一些代码看起来有点像这样(一般示例)Java 多次调用BuffereImage.createGraphics()是否会产生不必要的开销?,java,bufferedimage,graphics2d,Java,Bufferedimage,Graphics2d,我正在使用BuffereImage用Java做一些图形编程。我有一些代码看起来有点像这样(一般示例) public void drawine(x1、y1、x2、y2){ Graphics2D g=this.buffereImage.createGraphics(); g、 抽绳(x1、y1、x2、y2); } 但是,我担心buffereImage.createGraphics会有大量开销。这是正确的吗?如果是,那么缓存图形2d的最佳实践是什么 我需要能够: 更改缓冲区图像 调用一个updat
public void drawine(x1、y1、x2、y2){
Graphics2D g=this.buffereImage.createGraphics();
g、 抽绳(x1、y1、x2、y2);
}
但是,我担心buffereImage.createGraphics
会有大量开销。这是正确的吗?如果是,那么缓存图形2d
的最佳实践是什么
我需要能够:
- 更改
缓冲区图像
- 调用一个
函数将update
绘制到屏幕上buffereImage
和类似的函数需要存在,我不能只在一个函数中绘制所有的图形drawLine
createGraphics()
调用会导致多少开销,请在代码上运行探查器。@Andreas您知道有什么好的java探查器吗?我遇到的唯一一个问题是付费的,我不想把钱花在一个简单的问题上——你需要磨练你的研究技能,因为有免费的分析器,包括Java附带的分析器。主要的IDE也有免费的分析器。这会造成开销吗?对没有必要吗?很难说清楚,鉴于我们拥有的信息量有限,但对于您的用例来说,createGraphics()
一次,执行大量的绘制/绘制操作,然后再执行就更好了。这有关系吗?不可能知道。如果这是一个交互式绘图程序,则肯定不是。如果您正在输出实时图形,则可能是。