I've been playing with the Java 2D API alot in the last few days, mostly with animations and gradients. For animations I'm using a Canvas with blitting done by a BufferStrategy and accelerated graphics via GraphicsConfiguration. What I'd like to know is whether it's more efficient to use images (ie loaded from a .gif and stored as a BufferedImage) or textured/filled vector graphics drawn from Java's java.awt.geom package in an animation.