Well if fast drawing is a super important requirement, I would suggest using DirectX instead of GDI+. DirectX is MUCH fast because it utilizes the CPU in your graphics card.
If, however, you want to stick with GDI+, then you can get a pretty good speed performance by doing all your drawing in a bitmap then transfering that bitmap to the screen. To do this, first create a new Bitmap object, the same size as your client area. Next, use Graphics.FromImage(yourbitmap) to get a graphics handle to your bitmap. Next, do your drawing like you normally would, using the graphics handle you got from your bitmap. Finally, use DrawImage() to transfer your bitmap to your form.