Project

General

Profile

Actions

Emulator Issues #11883

closed

Corruption while using VSync in exclusive fullscreen (Vulkan)

Added by Anuskuss over 4 years ago. Updated over 1 year ago.

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

0%

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

Description

An interesting looking black stripe slowly climbs down the screen (in any game) only when using Vulkan + Fullscreen + VSync. If you change any of those parameters, it doesn't happen anymore.

Preview (first 5 secs; continues until the end of the screen):
Corruption

This appeared after updating my Intel graphics driver from 26.20.100.7212 to the latest 26.20.100.7323. Rolling back the driver fixes this. I almost didn't feel like submitting this issue since I assumend it's just a driver bug and will probably get fixed in the next release, but this does not occur in my other emulators with the same configuration.


Files

dolphin-preview.gif (4.98 MB) dolphin-preview.gif Corruption Anuskuss, 10/22/2019 08:36 PM

Related issues 1 (1 open0 closed)

Is duplicate of Emulator - Emulator Issues #12852: Support Asynchronous PresentationAccepted

Actions
Actions #1

Updated by JMC4789 over 4 years ago

  • Status changed from New to Questionable

It's likely a driver issue then and unrelated to anything we're doing.

Actions #2

Updated by Anuskuss over 4 years ago

Probably; it's just weird that it doesn't happen in other emulators. Another thing to note is that when I press my fastforward hotkey, the screen flickers (and the framebuffer gets cleared?) before actually fastforwarding. After I release the hotkey, it flickers again before returning to normal speed. This too does not happen in my other Vulkan capable emulators/on other backends in Dolphin, where it just fastforwards without flickering. Maybe Dolphin/QT is doing something funny with how the framebuffer gets initialized?

Actions #3

Updated by JosJuice over 4 years ago

The fast-forwarding thing could be because Dolphin temporarily disables vsync while fast forwarding, so that the framerate of the emulated game won't be locked to the framerate of your monitor.

Actions #4

Updated by JMC4789 over 4 years ago

You're using Intel + Vulkan drivers, which are sketchy at best... if the problem persists across a few more driver updates, maybe then we should get concerned.

Actions #5

Updated by Anuskuss over 4 years ago

JosJuice wrote:

The fast-forwarding thing could be because Dolphin temporarily disables vsync while fast forwarding, so that the framerate of the emulated game won't be locked to the framerate of your monitor.

Makes sense, but why doesn't it happen in the other backends? I thought after the great unification that every backend was basically the same. That points to a driver problem then, right? But it does not happen in PPSSPP with Vulkan+Fullscreen+VSync.

JMC4789 wrote:

You're using Intel + Vulkan drivers, which are sketchy at best... if the problem persists across a few more driver updates, maybe then we should get concerned.

Yeah, I'd say let's keep this open until the next updates drops and if the problem is still there, we can discuss this again.

Btw, does any of you guys have an Intel processor? If so, can you test if this happens on your iGPU as well? Could this be a Windows 10 issue? Wouldn't be the first time...

Actions #6

Updated by Anuskuss over 4 years ago

VSync issue fixed by 26.20.100.7372. The only thing remaining is the screen flicker before/after fastforwarding which again only happens in Dolphin+Vulkan+Fullscreen+Vsync, PPSSPP+Vulkan+Fullscreen+Vsync works just fine. If you don't care about figuring this out I won't care either so let's wait and hope this gets fixed when Intel implements VK_EXT_full_screen_exclusive.

Also, after updating I found a race condition which I don't think has happend before. When I quit emulation I sometimes (very rarely) get Failed to grab image from swap chain. I can't say if this happens in older versions / other backends besides Vulan, but either way, this should never happen (after deliberately quitting).

Actions #7

Updated by Stenzek over 4 years ago

The "missed" frame when fast forwarding is because the swap chain has to be recreated to switch the present mode. Not much we can do about that I don't think.

Actions #8

Updated by Anuskuss over 4 years ago

So I'm assuming this is a limitation of Vulkan then, right? You were then one to implement exclusive fullscreen in Vulkan; does VK_EXT_full_screen_exclusive change that behaviour for you or is this strictly an Intel thing?
Also I'm just spitballing here but do you know why this does not happen in PPSSPP?

Actions #9

Updated by Anuskuss about 4 years ago

@Stenzek Turns out I was wrong, because PPSSPP+Vulkan+Fullscreen+Vsync didn't work properly (no V-Sync). They solved the problem with frameskipping; would that be possible in Dolphin as well?

Actions #10

Updated by JMC4789 over 1 year ago

  • Status changed from Questionable to Duplicate
Actions #11

Updated by JMC4789 over 1 year ago

Actions #12

Updated by Anuskuss over 1 year ago

I'm not entirely positive that this issue is related to or can be solved by "Asynchronous Presentation". The issue was that I was getting one/a few black frames because the swap chain had to be destroyed in order to switch the presentation mode. On my new system (Linux+Nvidia), I am no longer observing this. I don't know how or why (maybe the switch happens gracefully with Nvidia/Linux or you're using another mode that wasn't available with Windows+Intel) but I no longer care. #12852 sounds interesting though.

Actions

Also available in: Atom PDF