Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vk: Restructure present mechanism #6069

Merged
merged 3 commits into from Jun 10, 2019
Merged

vk: Restructure present mechanism #6069

merged 3 commits into from Jun 10, 2019

Conversation

kd-11
Copy link
Contributor

@kd-11 kd-11 commented Jun 10, 2019

  • Removes frame submission control from the application and relies on the driver to do it automatically for us. This avoids the NVIDIA fullscreen deadlock issue entirely and also improves framepacing a lot.
  • Remove a lot of no-longer-necessary code from the window classes. This includes the win32 hooks and the renderer-side window management polling code. May slightly improve performance due to less overhead.
  • Implements frame management when window is minimized, allowing resources to be released properly.

Fixes #5351

- Just use a semaphore and let the driver handle it instead of manual framepacing.
  We lose framepace control but drivers have matured in the past few years so it should work fine.
@Whatcookie
Copy link
Member

Whatcookie commented Jun 10, 2019

You can remove the log message that I added the other day in VKhelpers.h at line 440 now.
Perfomance is good in amdvlk and window resizing still works.

Edit: Thanks as well for the framepacing fix, 60hz games feel dramatically smoother on my 120hz monitor

- Removes a lot of wm_event code that was used to perform window management and is no longer needed.
- Significantly simplifies the vulkan code.
- Implements resource management when vulkan window is minimized to allow resources to be freed.
@kd-11 kd-11 merged commit d361eed into RPCS3:master Jun 10, 2019
@vsub
Copy link

vsub commented Jun 10, 2019

Now this is really good commit,not only fixes the #5351 which was bothering a lot of people but it also fixes #6043 #5508 and #5202

Edit:And forgot to mention,fullscreen<=>window switching is MUCH faster and smoother

@13xforever
Copy link
Contributor

13xforever commented Jun 16, 2019

Yakuza 4 frame time pacing improvements

before
after

@MsDarkLow
Copy link
Contributor

Completely fixes the microstutering in Yakuza Games. (No more 15fps at 1% and 0.1%!)

Yakuza Kenzan:
Master
KenzanMaster
PR
KenzanPR

@blackecos
Copy link

Thanks for this, will this come to the official builds?

@dio-gh
Copy link
Contributor

dio-gh commented Jun 21, 2019

@blackecos It's merged, so it's already in the official build.

@blackecos
Copy link

@dio-gh
Mhm then It doesnt work for me in the official build.
With 0.0.6-8197.3e620f14 Alpha it works fine.
With the latest official build I still get crashes in fullscreen mode ;/

Just to be honest Im not sure thats the same thing here... I come from a link from this page:
#5351
Github confuse me all time... <.<

@dio-gh
Copy link
Contributor

dio-gh commented Jun 21, 2019

With 0.0.6-8197.3e620f14 Alpha it works fine.

That's a build from before this PR was merged. This changeset is in master since 0.0.6-8204. This PR fixed a long-standing issue of people getting crashes in fullscreen when using nvidia hardware. If you say things were working fine in that quoted build (as in, you didn't get crashes), then you're experiencing a different issue.

@blackecos
Copy link

Then should I go with the latest build -> wait for a crash and post some logs or something? x(

@13xforever
Copy link
Contributor

This issue has been confirmed to be fixed. Your issue is most likely unrelated at all. Stop spamming github please, ask in Discord if you need further help.

@dio-gh
Copy link
Contributor

dio-gh commented Jun 21, 2019

@blackecos I meant that what you are saying logically doesn't check out, and thus you're probably experiencing a different issue. By default, this would mean that you could/should open a new, separate issue, and post logs and issue description there. However, it'd be preferable if you visited our Discord server first as 13x says, and clarified that it's indeed a real issue, not a settings mishap or something.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Vulkan: Running games on Fullscreen causes a crash after a while
7 participants