带有TexturePaint的Java fillRect()很慢

时间:2014-04-16 19:30:54

标签: java textures graphics2d 2d-games

TexturePaint问题

我目前正在使用texturepaints制作2D游戏。我遇到的一个重要问题是,使用设置为纹理颜料的graphics2D setPaint方法填充矩形比填充基本颜色的矩形要慢得多。有没有其他方法可以通过创建类似于Texturepaint的自定义类来加快绘画速度?此时我真的不知道该怎么做,因为我的fps卡在18-23fps附近。

编辑:

        g2d.setPaint(new TexturePaint(current_paint.getImage(), new Rectangle(CamX, CamY, current_paint.getImage().getWidth(), current_paint.getImage().getHeight())));
        g2d.setClip(AffineTransform.getTranslateInstance(CamX, CamY).createTransformedShape(paint_regions.get(current_paint)));
        g2d.fillRect(0, 0, host_frame.getWidth(), host_frame.getHeight());

        System.setProperty("sun.java2d.opengl","true");//True or false makes almost no difference.

*注意:当注释掉时,fillRectangle()显然很昂贵。

0 个答案:

没有答案