libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.31k stars 1.83k forks source link

vulkan driver requires vsync to be OFF #10696

Open medievil1 opened 4 years ago

medievil1 commented 4 years ago

First and foremost consider this:

Description

if vulkan is driver and vsync is on, you get stuttering A/V, FULLSCREEN only, does not affect windowed

Expected behavior

smooth A/V

Actual behavior

framrate drops below core norm or resolution norm in RA UI

Steps to reproduce the bug

  1. set vulkan as driver
  2. make sure vsync is on
  3. start a core that uses vulkan (beetle psx, parallel, etc..)
  4. observer performance in full screen (bug does not affect windowed)
  5. turn vsync off and observe difference in performance

Bisect Results

[Try to bisect and tell us when this started happening]

Version/Commit

You can find this information under Information/System Information

Environment information

Ryunam commented 4 years ago

We were talking about this over on Discord and your experience seems slightly different compared to mine, in the sense that on my system the very first content load with Vulkan will always have perfectly smooth scrolling, with no judder whatsoever.

After that, either after loading another piece of content or switching back and forth between Windowed mode and Fullscreen mode, it will start stuttering. Vsync set to OFF does not seem to help in my case.

You might want to also check the global discussion on this Vulkan frame pacing issue here: https://github.com/libretro/RetroArch/issues/9668

medievil1 commented 4 years ago

Not 100% sure it is the exact same thing.. I know others are starting to run across it...they were working with someone yesterday with ParaLleL having issues stuttering... they thought it might be the synchronous threading having issues.. I suggested he turn of vsync and it fixed it immediately...it never works full speed for me in fullscreen with vsync on, works fine in a window though.. drivers do not seem to matters (Currently using latest beta vulkan 1.2 drivers)

HelicopterP commented 4 years ago

I can confirm this bug with Nintendo64 cores. For some resaon everything else is fine for me - beetle, dolphin, bsnes, blastem, etc... Win10 64bit+core i7 8700+gtx1070+beta vulkan 1.2 drivers Before I installed beta drivers, Vsync simply didn't work - screen was tearing all the time, but performance was unaffected.

Sohl42 commented 4 years ago

I am still get this vsync slowdown with both nintendo64 cores, using parallel rdp+rsp.

I did have RTSS installed before but uninstalled it and restarted my computer according to the other thread and it didn't appear to help any. I have a 4770k and 2060 super with the latest nvidia drivers.

I tested using goldeneye's frigate level, going to the front of the ship then looking back. With vsync + exclusive fullscreen on i was getting audio hiccups and frame drops down to 50 fps from RA itself. Going windowed didn't eliminate the problem entirely only made it not as extreme. Vsync turned off doesn't cause any hiccups and frames hover around 60 with no drops regardless of windowed or exclusive fullscreen.