Closed Bug 1196453 Opened 9 years ago Closed 8 years ago

VBlankLoop is not working correctly on windows 10

Categories

(Core :: Graphics, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1190257

People

(Reporter: bas.schouten, Unassigned)

References

Details

(Whiteboard: [gfx-noted])

This piece of 'clever' code is not behaving as we expect on Windows 10 causing a bunch of assertions to fire and getting invalid animation timestamps:

          WinUtils::dwmFlushProcPtr();
          HRESULT hr = WinUtils::dwmGetCompositionTimingInfoPtr(0, &vblankTime);
          vsync = TimeStamp::Now();
          if (SUCCEEDED(hr)) {
            QueryPerformanceCounter(&qpcNow);
            // Adjust the timestamp to be the vsync timestamp since when
            // DwmFlush wakes up and when the actual vsync occurred are not the
            // same.
            int64_t adjust = qpcNow.QuadPart - vblankTime.qpcVBlank;
            int64_t usAdjust = (adjust * microseconds) / frequency.QuadPart;
            vsync -= TimeDuration::FromMicroseconds((double) usAdjust);
          }
This is probably a dupe of bug 1190257. If you can confirm after updating to the latest master that the assertions stop firing for you, please dupe this.
See Also: → 1190257
Whiteboard: [gfx-noted]
From comment 1, are you still hitting lots of assertions?
Flags: needinfo?(bas)
This was fixed.
Status: NEW → RESOLVED
Closed: 8 years ago
Flags: needinfo?(bas)
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.