GPUs have special routines for 'put this image on top of another surface', and they're used for fonts. xf86-video-vesa doesn't, it's doing things in an inefficient way in software, but it probably allows for more checks about whether we're still inside the surface boundaries.