A GPU is a video card with its own processor cores that are designed to optimize complex graphics operations that...
would otherwise load the CPU. Most desktop and laptop PCs have them.
GPUs enable graphically rich applications to run with good performance. To deliver this same graphical performance to a virtual desktop, you may need to provide the virtual machine (VM) a real GPU.
Just as VMs can share other hardware, they can share a GPU, and VMware's Virtual Shared Graphics Acceleration (vSGA) technology does just that -- it lets a VDI desktop access a fraction of the performance available from a high power GPU in the ESXi server.
A single GPU card in an ESXi server is divided between a group of VMs. Each VM takes a share of the RAM and GPU cores in the card. Naturally, the more VMs that share a GPU card, the less performance each VM will get. For modern business applications, a small amount of GPU goes a long way.
VMs with sVGA enabled will still use the VMware display driver, which offers a lot of flexibility. VMs using vSGA are not tied to one ESXi server; you can VMotion them to another host and protect them with vSphere high availability. You might even choose to allow the vSGA-enabled VM to run on an ESXi host without a GPU.
If no GPU is available, the VM will fall back to the lower performing Soft-3D, but will still run. VMware vSGA does need a workstation-class GPU card in each ESXi server. These cards are several thousand dollars each, so it's not the cheapest solution, but because the GPU is shared by multiple VMs, it's also not the most expensive or high-performance option. VMware sVGA is ideal for knowledge workers who need great application performance.
Keep in mind that vSGA only accelerates getting the pixels onto the screen in the VM. You still need a good network and high performance remote display protocol to give your users the best experience.