Drawing on to an imagebuffer can be slow in BlitzPlus. Try getting more advanced (but hopefully faster) by locking the imagebuffer and using the PixelFast commands (ReadPixelFast, WritePixelFast). You will have to consider being more careful not to write out of bounds on the image, etc. Also, you will need a pixel creation function if you want to draw an arbitrary color to certain pixels. Also having a custom color extract function for each Red, Green, and Blue will be helpful. Each of these four functions don't need to be more than one line of code.
As for drawing, I have always found best performance with double-buffering. Drawing to the back buffer then flipping can reduce artifacts and tearing. Probably, the actual image manipulation is what is slowing down your program instead of a buffer choice.
As for drawing, I have always found best performance with double-buffering. Drawing to the back buffer then flipping can reduce artifacts and tearing. Probably, the actual image manipulation is what is slowing down your program instead of a buffer choice.