Buffered images

BlitzMax Modules Forums/Brucey's Modules/Buffered images

instead of

Frame.Panel.OnPaint(XYZ)

try

Frame.Panel.Refresh()

In your timer notify. Refresh sets the panel to a "dirty" state, which is then set for repainting.

Also, you might be interested in replacing your wxPaintDC with wxAutoBufferedPaintDC which is a double-buffered version of it.
You simply use it as usual, and it sorts out the buffering. (or so they say!)

your create line would look like this :
DC        = New wxAutoBufferedPaintDC.CreatePaintDC(DrawPanel)