그래픽 형식을 그리는 이미지보다 많은 기능을 갖기 위해 Graphics 형식을 Paint 메서드 내 Graphics2d 형식으로 캐스팅하는 사람들이 많이 있습니다. 그래픽 유형을 페인트 기능 외부의 graphics2d 유형으로 변환 할 수 있습니까? 필자는 페인트 메서드가 호출 될 때마다 (즉 모든 프레임) 불필요하게 매번 Graphics2D 유형으로 캐스팅하므로 성능 문제가 비명을 지른다.페인트 방법 캐스팅 - 성능
또한 paint 메소드가 호출되고 동일한 화면이 다시 그려 질 때마다 Java가 최적화를 수행합니까? 예를 들어 화면에서 하나의 요소 만 이동하는 경우 일반적으로 해당 요소를 업데이트하면됩니다. 그것은 페인트 메서드가 호출 될 때마다 자바가 다시 그려지고 전체 화면을 다시 처리하는 것처럼 보입니다. 나에게 이것은 모두 불필요하게 집중적으로 처리되는 것처럼 보입니다.
예제 코드 :
public void paint(Graphics g) {
AffineTransform transformer = new AffineTransform();
transformer.translate(5,5);
transformer.scale(2,2);
Graphics2D g2d = (Graphics2D)g;
g2d.setTransform(transformer);
// draw to g2d.
}
왜 성능이 성능에 영향을 줍니까? – khelwood