obs-studio icon indicating copy to clipboard operation
obs-studio copied to clipboard

libobs-opengl,UI: Use Metal swap chain for non-blocking vsync

Open jpark37 opened this issue 3 years ago • 0 comments

Description

Using the Metal swap chain allows us check when the swap chain is ready, so the graphics thread won't get stuck waiting on vsync.

There's also dormant HDR code that isn't turned on right now because it causes Qt to flicker like crazy.

Motivation and Context

Want preview/projectors to not tear, and also not block the graphics thread from making progress.

How Has This Been Tested?

Preview and projectors seem to work. Resize is fine. Ran temporary instrumentation to test present is skipped alternating for 120 FPS video on 60 Hz refresh.

Vsync settings are gone from Settings dialog, and tested that that a setting change still works.

Types of changes

  • Tweak (non-breaking change to improve existing functionality)

Checklist:

  • [x] My code has been run through clang-format.
  • [x] I have read the contributing document.
  • [x] My code is not on the master branch.
  • [x] The code has been tested.
  • [x] All commit messages are properly formatted and commits squashed where appropriate.
  • [x] I have included updates to all appropriate documentation.

jpark37 avatar Aug 10 '22 09:08 jpark37

Retracting. Too many issues. Waiting for real Metal renderer.

jpark37 avatar Aug 13 '22 16:08 jpark37