Wie der Titel schon sagt, habe ich massive frames drops beim folgenden Code:
Warum laggt das so oder wie geht es eine lagfreie Methode, ein Bild zu drehen?
Java:
// Class bat
public AffineTransformOp getOp() {
double degrease = this.getDegree(p.getX() - pos.x, p.getY() - pos.y);
double rotationRequired = Math.toRadians(degrease);
double locationX = getImg().getWidth() / 2;
double locationY = getImg().getHeight() / 2;
AffineTransform tx = AffineTransform.getRotateInstance(rotationRequired, locationX, locationY);
AffineTransformOp op = new AffineTransformOp(tx, AffineTransformOp.TYPE_BILINEAR);
return op;
}
Java:
// Class frame
g2.drawImage(bat.getOp().filter(bat.getImg(), null), bat.getX(), bat.getY(),
Bat.getWidth(), Bat.getHeight(), null);
// Der folgende code zeichnet das gleiche, nur ohne den AffineTransformOP
g2.drawImage(bat.getImg(), batgetX(), bat.getY(), Bat.getWidth(), Bat.getHeight(), null);
// dort habe ich keine frame drops