Basically I'm using a second TBitmap to draw offscreen and then I use CopyRect. I tried to use BitLlt but I run into some problems. I've read somewhere that CopyRect and BitBlt have minimal or no performance difference.

Right now it is VCL based (TGraphicControl inherited), but it doesn't need to be. My goal is to have a really smoth sliding effect, just like a pool ball.

I also need to implement some sort of colision detection algorithm, but I realize that it has nothing to do with what display architecture I will use.