Maybe a better way to put how images are sent to the screen as pixels may help.
All applications get sent to the video card else we couldn't see them. Most, such as Windows, do the grunt work of converting geometry to pixels in 'software' mode which is calculated by software on the host pc using it's processor where as when an application uses DirectX is is sending the raw geometry straight to the video card processor which is highly optimised for graphics processing which converts the geometry to pixel data.
Once this pixel data is created it is sent to a 'buffer', again this may reside on the pc or the video card with the video card being the faster choice.
With so many configurations/brands of video cards you can imagine how hard it would be to write code that would suits all, but most OS's have a 'coupling' dll if you like that makes the choice on the fly whether video card processing is available or not for the application, also, the application can do a search for compatable hardware and bypass this coupling if need be to improve performance.
hth.