Latest synchronization Activity
It turned out to not be a synchronization issue. It was a driver timeout issue. To fix this we'll need to break the screenshot into smaller shots, then write them all to a PNG file when done.
One fence is totally fine. You just need to increase the value of the fence for each frame. When you call SetEventOnCompletion it's saying “signal this event when the value of the fence is greater than or equal to the Value parameter”, so as long as the you keep increasing the fence value you can k…
I don't know of one, omnibus resource for this.
Most of the integration with physics/rendering depends entirely on how your game itself works, which means that a solution that works for, say, Street Fighter, probably won't work for Forza, and what works for Forza might not be right for Overwatch.
Gab…
The way that the client knows what tick it wants to simulate should still be based on a local wallclock time. Typically, the math will look something like:
extern double ReadHighPrecisionTimer(); // returns seconds
double tick = (ReadHighPrecisionTimer() - TimeExecutableFirstStarted) * TicksPerSeco…