"Software rendering" depends on the CPU to do generate the screen elements. The problem is that the CPU is busy doing other "stuff" at the same time, which could slow down screen painting.
"GPU rendering" hands off much of the screen drawing to the Graphics card. In theory this can be better/faster if you have a high power graphics card for a few reasons:
- the GPU isn't as busy as the CPU which is doing "everything" else
- GPU is optimized for graphics, CPU isn't (CPU has to do more calculations)
- many GPU's are designed to process graphics commands in parallel, CPU single threads them
- GPU has dedicated memory it does not have to share with other CPU based apps