Changes between Version 1 and Version 2 of Ticket #9640, comment 2


Ignore:
Timestamp:
Aug 30, 2023, 7:28:22 PM (2 years ago)
Author:
Tom Goddard

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #9640, comment 2

    v1 v2  
    44
    551) Make sure mirroring is not locking to 60Hz vsync.
    6 Result: Indeed with Oculus OpenXR and mirroring chimerax "graphics rate on" shows 60 fps, while with OpenXR steamvr runtime it shows 90 fps.  This explains the flicker.  So somehow using OpenXR oculus runtime is causing synchronization to vsync even though my startup code explicitly turns that off.
     6
     7Result: Indeed with Oculus OpenXR and mirroring chimerax "graphics rate on" shows 60 fps, while with OpenXR steamvr runtime it shows 90 fps.  This explains the flicker.  It turns out the ChimeraX wait_for_vsync() routine no longer works on Windows.  Apparently it was broken long ago by Qt 6 which resets the wait for vsync mode on every makeCurrent according to the QSurfaceFormat.swap_interval setting.  I've put in code to set the wait_for_vsync behavior on every makeCurrent on Windows if it differs from the Qt setting and that fixes the problem.  But it would probably be better to try to tell the Qt QOpenGLContext the new setting, or possibly it is associated with the QWindow for the context.  Need to test if that can be done.
    78
    892) See if no swap buffers but glFinish() causes the flicker.