Java程序性能之三

Java 2D提供了许多cool功能,用Java2D能做许多图形特效,合理使用一些API可以帮助实现和c++类似的性能:

  1. GraphicsConfiguration.createCompatibleImage(int width, int height, int transparency)GraphicsConfiguration.createCompatibleVolatileImage(int width, int height, ImageCapabilities caps, int transparency)这些API能够使创建的Image更快的画到屏幕上。下边是我们项目中的一小段代码,创建了一个窗口的蒙板Image:
         protected  Image createImage() {
            
    int  width  =  getWidth();
            
    int  height  =  getHeight();
            BufferedImage image 
    =  getGraphicsConfiguration().createCompatibleImage(width, height, Transparency.TRANSLUCENT);
            Graphics2D g 
    =  image.createGraphics();
            g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC, getAlpha()));
            g.setColor(getBackground());
            g.fillRect(
    0 0 , width, height);
            g.dispose();
            
    return  image;
        }
  2. 必要时使用VolatileImage,这个对象提供了硬件加速的Image
  3. 做Java game的可以使用Frame .createBufferStrategy,提供了供开发Java game使用的API,结合使用GraphicsDevice.setDisplayModeGraphicsDevice.setFullScreenWindow提供的全屏幕和设置显示分辨率的功能。
     


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值