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

[BUG] Vulkan with VSync ON and Layered DXGI swapchain brings pixel distortion #2949

Closed
1 task done
Sol1vaN opened this issue Feb 16, 2025 · 4 comments
Closed
1 task done
Labels

Comments

@Sol1vaN
Copy link

Sol1vaN commented Feb 16, 2025

GZDoom version

4-14-0a

Which game are you running with GZDoom?

Doom

What Operating System are you using?

Windows 10

Please describe your specific OS version

No response

Relevant hardware info

RTX 4070 TI SUP with 572.42 NVIDIA drivers

Have you checked that no other similar issue already exists?

  • I have searched and not found similar issues.

A clear and concise description of what the bug is.

With the current 572.42 NVIDIA drivers with Vulkan render pixels becomes horribly distorted across the entire screen.

Examples:
Image
Image
Image
Image

I can't remember clear, but with older NVIDIA drivers this don't occur.
Also I tested the gzdoom builds from:

  • 4.0.0
  • 4.7.1
  • 4.12.2
  • 4.13
  • 4.14a

On all those gzdoom builds occur the same ugly effect.
So the problem is not gzdoom.

Steps to reproduce the behaviour.

This occurs when we combining the following settings:

  • Texture filter = None | None (nearest mipmap) | None (linear mipmap) | None (trilinear)
  • Render = Vulkan
  • VSync = On

Image
Image

We can temporaly fix this doing:

  • Chosing Bilinear or Trilinear Texture filter, but it's worst than this issue 😂
  • Disabling VSync, but we'll get tearing
  • Changing render to OpenGL or OpenGL ES, but the performance will decrease

The definitive solution:
Go to NVIDIA Control Panel and change the following option:

  • Vulkan/OpenGL Present Method = Native
    Image

Seems Layered DXGI swapchain method are horrible buged now, and affect gzdoom on this way.
But finally, this completely resolves the problem, allowing Vulkan, VSync and 'Texture filter None' works correctly together.

Provide a Log

Some similar sources I founded that's seems have some relation with all this behavior.

Vulkan/GSYNC/VSYNC stuttering problem:
#2033

Vulkan always chose the bad option, I mean, Layered DXGI swapchain:
LizardByte/Sunshine#1771

Image

Hope all this help someone on some way.
Cheers.

@Sol1vaN Sol1vaN added the bug label Feb 16, 2025
@Sol1vaN Sol1vaN changed the title [BUG] Vulkan with VSync ON brings pixel distortion [BUG] Vulkan with VSync ON and Layered DXGI swapchain brings pixel distortion Feb 16, 2025
@LuciferSam8086
Copy link

LuciferSam8086 commented Feb 18, 2025

I remember I had a similar problem with vsync enabled on drivers and GZDoom. On your hand is vsync enabled on both sides?

Putting gsync and vsync only on the drivers fixed the problem.

@madame-rachelle
Copy link
Collaborator

Seeing as how this is clearly a driver issue I am still going to put the ball in NVidia's court, no developer wants to deal with this kind of driver regression that they have absolutely no control over. We give AMD drivers the same treatment and just because our userbase in majority use NVidia doesn't make them any more special - they fucked it up, they're the ones who have to fix it. That being said, the workaround is very instructive and useful and I will link this in the forum for anyone who needs it until NVidia gets their act together.

@madame-rachelle madame-rachelle closed this as not planned Won't fix, can't repro, duplicate, stale Feb 18, 2025
@Sol1vaN
Copy link
Author

Sol1vaN commented Feb 18, 2025

I remember I had a similar problem with vsync enabled on drivers and GZDoom. On your hand is vsync enabled on both sides?

Putting gsync and vsync only on the drivers fixed the problem.

no, on my test nvidia control panel VSync is set to "Use 3D application settings" that mean nvidia drivers adopt the game configuration I think.

@SanyaWaffles
Copy link
Contributor

I think this might have been fixed in a latest update? Godot and GZDoom doesn't do this for me anymore.

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

No branches or pull requests

4 participants