I know that directX is a zillion times faster than GDI and I think there will be no other option for me than directX, but let me share with you what I'm doing and then you tell me if I'm in the right path.

I'm creating a game very similar to pool. Basically I need the table surface and round objects that will slide/roll over this surface.
As a test, I've created the table using a canvas, but when I created the balls and made them slide on my table, I had a horrible flicker (I'm not erasing the background and I'm using double buffering already).

Here it is my rethorical question: should I keep using GDI or should I go to directX? I kind of like GDI because I don't have to worry about the directX version inferno, neither I have to worry about what OS my user is using, and I don't know how much more difficult directX is compared to drawing on a canvas.

Any suggestions?

Thanks