There are several issues with your sample code. But first, have you tried using VB's PaintPicture? Unless you are tiling full screen images, PaintPicture, with an optimized routine, can be very fast for tiling