There are a few methods that can be used to improve the appearance of an animation on a slower machine, but, even when these methods are applied, there is a limit to the performance that can be squeezed out of a weak computer. If an animation is run without creating a separate thread in which it can run, the animation will lock up the web page(and possibly the browser) in which it runs. This means that the user can do nothing with the web page until the animation finishes.

Flickering is due primarily to the inability of the computer's hardware to keep up with the rate of transfer of video data. In general the faster your computer, the less flickering you will see. public void update(Graphics screen){ paint(screen); } public void paint(Graphics g) { circleColor = new Color(red, green, blue); g.setColor(circleColor); g.clipRect(circleX, circleY, circleDiameter, circleDiameter); g.fillOval(circleX, circleY, circleDiameter, circleDiameter); is the code used to reduce flickering