Flickering display at high frame rates


This probably isn’t going to be a high priority for anyone, but it’s something that’s been irritating me for a while.

During the development of my game/engine I’ve been disabling the vertical sync to see how much performance I’m really getting from my engine. This is the DX11 implementation of my engine running on a Geforce GTX 1650 with the 531.79 driver (not the absolute latest, but reasonably new).

And I’ve noticed an issue when running at really high framerates. (4000fps and higher.) At a certain point (I don’t know exactly what the cut-off framerate is, but I think it’s at least above 2000fps), I’m seeing what looks like frames being displayed out of order.

The higher the framerate (the maximum I’ve hit is about 5600fps), the more obvious the problem becomes. When I first noticed it, I discovered some parts of my engine were using millisecond counters for some timings. After changing them to microsecond counters and still seeing the problem I thought it could be down to floating point inaccuracies in my animation engine, but I’m also seeing it on static UI elements when they first appear. (They flicker into existence.)

Which suggests it’s not something I’ve done wrong. So I’m wondering if there are any millisecond counters/timers in the nvidia driver that could be causing such problems?