43 ms·
I think that modern desktop GPUs do in fact still have hardware cursors; I recall digging into this before. The reason isn't speed or power usage, it's latency.
by jchw 3y ago
I think that modern desktop GPUs do in fact still have hardware cursors; I recall digging into this before. The reason isn't speed or power usage, it's latency. The cursor position of a hardware cursor can be changed during the scan-out, which means that it can be significantly more up-to-date than the framebuffer itself. It's a pretty big deal for something feeling 'usable' and that's definitely why VMs and remote desktops will go through extra effort to make the cursor feel lower latency (remote desktops will outright fake it, while VMs will forward hardware cursor support through the guest to the host.) If you use an older computer with a CRT and no compositor, the lack of latency is marked; it makes it feel like things are happening before you even do them, and things feel "snappier" sometimes even when they're obviously a lot slower.
edit: Also, on Windows, you can notice the presence of the hardware cursor because Windows has an additional trick: it will switch to a software cursor when dragging windows, so that the window and the cursor stay synced up. However, since it doesn't perfectly sync the hardware cursor turning off with the software cursor frame being presented, you'll usually see a very subtle flicker when you first start dragging a window. I dunno if this still applies to fully-updated Windows, but it still applied last I checked, in Windows 10. (And once you notice this, boy, you never stop noticing it. It takes a second.. then it's hard to ever not see it again.)
- 15457345234 3y ago> Also, on Windows, you can notice the presence of the hardware cursor because Windows has an additional trick That's pretty interesting, I played with that and did notice it. Also from googling if you set 'MouseTrails' to -1 in the registry it's a hack which disables the hardware cursor, not sure if that's still current.