Project

General

Profile

Actions

Emulator Issues #12852

open

Support Asynchronous Presentation

Added by MayImilae about 2 years ago. Updated 3 months ago.

Status:
Accepted
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Feature request
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
Yes
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

We need to support Asynchronous Presentation. It isn't that hard (so I'm told by a graphics dev) and it has a very long list of benefits that it would provide for Dolphin.

  • Resolves frame pacing issues for non-60 hertz titles.
  • Resolves presentation issues and our bad frame pacing on non-60hz panels.
  • Improves frame time consistency.
  • Improves accuracy by no longer blocking the rendering thread while presentation is waiting on vsync, which is closer to how VI actually works.
  • Improves performance by not stalling the GPU as much, as presentation is no longer blocking the render thread. This is a minor benefit for PC but HUGE for mobile.
  • Improves fluidity of interacting with onscreen rendering elements, such as the fps counter, netplay chat, and upcoming projects.
  • Allows us to decouple post-processing and compositing from EFB/XFB, allowing for more post processing options and flexibility.
  • Allows for interacting with onscreen rendering elements without requiring a game to be running.
  • Allows us to know when the rendering thread is going to give us a frame, and we can calculate when the host compositor will consume the frame. This lets us optimize the crap out of frame timing and frame pacing. For example, we could delay giving the compositor the frame up until the last moment within jitter period to actually consume at the absolute optimal time for pristine frame pacing.

Related issues 5 (1 open4 closed)

Related to Emulator - Emulator Issues #13084: Presentation Megathread - Vsync/ScreenTearing/Framepacing IssueAccepted

Actions
Has duplicate Emulator - Emulator Issues #12761: Black flashing when pressing or releasing turbo button with Vulkan in Exclusive Fullscreen in my laptop's 120hz screenDuplicate

Actions
Has duplicate Emulator - Emulator Issues #11883: Corruption while using VSync in exclusive fullscreen (Vulkan)Duplicate

Actions
Has duplicate Emulator - Emulator Issues #10652: Full-screen Vulkan swapchains screen bugs at 4K resolutionDuplicate

Actions
Has duplicate Emulator - Emulator Issues #10237: Vulkan + fullscreen + vsync = system freezeDuplicate

Actions
Actions

Also available in: Atom PDF