The difference between drawrect and drawimage is simply a matter of whether texture mapping is is enabled. It could be that switching texture mapping off to draw the rectangle and switching it back on to draw images is where the speed hit occurs, whereas leaving it enabled and drawing a small image is perhaps quicker. But otherwise there shouldn't be any reason why drawing a non-textured rectangle is slower than a textured one. Drawing lines shouldn't be that slow either. Maybe it's graphics card dependent?