Emulator Issues #11883
closedCorruption while using VSync in exclusive fullscreen (Vulkan)
0%
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):
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
Updated by JMC4789 about 5 years ago
- Status changed from New to Questionable
It's likely a driver issue then and unrelated to anything we're doing.
Updated by Anuskuss about 5 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?
Updated by JosJuice about 5 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.
Updated by JMC4789 about 5 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.
Updated by Anuskuss about 5 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...
Updated by Anuskuss about 5 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).
Updated by Stenzek about 5 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.
Updated by Anuskuss about 5 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?
Updated by Anuskuss over 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?
Updated by JMC4789 about 2 years ago
- Status changed from Questionable to Duplicate
Updated by JMC4789 about 2 years ago
- Is duplicate of Emulator Issues #12852: Support Asynchronous Presentation added
Updated by Anuskuss about 2 years 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.