Written: May 7, 1999 for Dr. Dobb's Journal

Introduction:
  This is a very primitive demonstration of the benifits
  of object pooling in Java for a graphics application.
  Because of the simplicity, having multiple threads for
  the rendering pipeline is not appropriate.

Requirements:
  The compiled demo applets require Java 2.  The Java 2 run-time
  environment from Sun Microsystems (www.sun.com) is adequate
  to execute the demo applets.  But you'll need the JDK 1.2 if
  you're looking to compile the source code.  The make.bat file
  contains the necessary command line arguments for compiling all
  the source code for all three demo applets.

WARNING:
  It is best to run three applets one at a time.  If you run
  multiple applets at the same time, the overall performance
  degrades enough such that the frame rate difference between
  each applet is not as noticable.  Garbage collection on the
  one NonOptimized demo would also affect the visual performance
  of the other applets as it steals CPU cycles from all applications
  running on the machine.

Demo Applets:
  The three demos in this directory are as follows:

  NonOptimizedDemo
    - Does not pool the sprites as they born and die.
    - Execute run.NonOptimized.bat to start the appletViewer.

  PooledSpritesDemo
    - Pools the sprites so expiration does not mean removal
      from memory.
    - Execute run.PooledSprites.bat to start the appletViewer.

  OptimizedDemo
    - Uses object pools for sprites and removes the fixed
      sleep duration within the rendering loop.  The concept
      of asynchronous messaging which drives rendering as
      data becomes available will mirror this approach.  The
      actual amount of time between rendering passes will
      vary based on the complexity of the frame.
    - Execute run.Optimized.bat to start the appletViewer.

Contact:
  If you have difficulty with the demo applets, or just want
  some send comments to the author, please send email to
  tjannak@viatechsolutions.com or visit www.viatechsolutions.com
  for the latest developements.
