I've been doing some reading as to how to reduce input delay on modern computing devices. A lot of my understanding from this comes from the VR research paper by Carmack explaining the numerous circumstances to reduce the latency between the CPU simulation/rendering -> GPU buffering -> video out stages.
So assuming the optimal case where we have a monitor with a ~60hz refresh rate with a simulation/render that fits in a single tick, I was wondering if software rendering bypasses the GPU buffer stage (G) shown below (but not the video out as we cant force the monitor to refresh).
I - Input, S = Simulation, R = Render, G = Gpu buffered commands, V - Video Out CPU:ISSSSSRRRRRR----| GPU: |GGGGGGGGGGG----| VID: | |VVVVVVVVVVVVVVVV|
This would seem to trade off the need of synchronizing with GPU and GPU fencing that mentioned later at the cost of performance. I was wondering if this was accurate and a reasonable option to reduce display latency?