Я создаю игру, которая использует библиотеку Java Graphics2D. Следующий вызов в упрощенной версии моего кода занимает около 20 мсек:
off2.drawImage(tileImage, 0, 0, null);
, где tileImage
- изображение размером 5040 * 2280, а off2
объявляется с помощью следующего кода:
GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice device = env.getDefaultScreenDevice();
GraphicsConfiguration config = device.getDefaultConfiguration();
offscreen = config.createCompatibleImage(SCREEN WIDTH, SCREEN HEIGHT, Transparency.TRANSLUCENT);
offg = offscreen.getGraphics();
off2 = (Graphics2D)offg;
Я также использую off2.scale
для масштабирования своих изображений.
У меня есть метод paintComponent
в классе, который наследует JPanel
, который рисует offscreen
:
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(offscreen, 0, 0, this);
}
Мне было интересно, стоит ли ожидать такого количества времени для одного звонка. Видя, что это экшн-игра, я бы предпочел использовать самые быстрые из возможных методов, чтобы максимизировать плавность.