There is some hardware acceleration, enough that having hardware acceleration was very important back when a high speed computer was a 486. But it does less then most people believe, it doesn't have real hardware scrolling or other advanced features and even the features it does have are often partially or stupidly implemented. There are hardware level line drawing and blitting routines, hardware cursors and font support, possibly other I can't remember.

You can see the lack of hardware scrolling by quickly scrolling a complex window up and down. If you computer is fast enough you may need to load it down a bit before you can see this effect. Right around the edge of the screen you can see Windows quickly draw in stuff. The background is solid, because that is hardware level blitting, but the higher level stuff is drawn on the screen by windows. With real hardware scrolling, Windows could draw into the section of the screen before scrolling it into view, so you would never get flicker around the edge of a scrollable windows.

You can see much the same effect by having multiple windows open and moving them around over top of each other. In a smarter system with better hardware support this wouldn't cause any flicker because each application would have their own virtual buffer space independent of each other.

Jay