The big issue is avoiding copies between system and graphics memory. If you are accelerating 3D operations on the GPU and 2D operations on the CPU then you end up with a lot of back-and-forth traffic unless you can arrange for 2D and 3D operations to always touch different buffers. Accelerating 2D ops on the GPU may even be slower than doing it on the CPU but you still win because of the reduced copy traffic.
Originally Posted by ssvb
Scrolling also benefits a lot from GPU acceleration, of course.