Search Issue Tracker

By Design

Votes

0

Found in

2019.1.0a9

2019.1.2f1

2019.2.0a1

2019.3.0a1

Issue ID

1153545

Regression

Yes

Screen tearing occurs when running standalone build in Fullscreen Mode

Windows

-

Steps to repro:
1. Open original project "New Unity Project.zip"
2. Enter Play Mode and notice that there is no screen tearing in Game View
3. Build and Run

Expected result: No screen tearing, like in Game View.
Actual result: Screen tearing.

Reproduced in: 2019.1.3f1, 2019.2
Not reproduced in: 2017.4.27f1, 2018.4.0f1, 2019.1.3f1, 2019.2.0b2, 2019.3.0a3

Note: Only occurs in Fullscreen mode, if you press alt + enter to exit fullscreen mode, tearing disappears.

  1. Resolution Note:

    Prior to Unity 2019.1, disabling VSync didn't work in non-exclusive full screen modes. The contents of the frame were still synced to your desktop refresh rate. In Unity 2019.1, we switched to DXGI flip model swapchain (https://docs.microsoft.com/en-us/windows/desktop/direct3ddxgi/dxgi-flip-model). Without DXGI flip model swapchain, you cannot really disable VSync, you can just make frame rate not get limited. Since we switched to using it on supported systems, we can now offer true "disabling VSync" support in windowed mode (this was only possible in exclusive fullscreen mode before).

    There are two ways to get around tearing:

    1. Keep VSync on. That's what it's there for in the first place.
    2. If for some reason you cannot leave VSync on, we're adding an option to player settings to use the old "BltBlt" swapchain model. It should land to one of Unity 2019.1 patches soon. The release note will read "Windows Standalone: Added a Player Setting for reverting to BltBlt swapchain model which was used before 2019.1. This enables several scenarios like transparent window to be used once again.".

Comments (6)

  1. Keepps65

    Sep 25, 2024 12:55

    The solution I found is to use vsync if the screen is 60 Hz and set the framerate if it's higher. Code is here:

    QualitySettings.vSyncCount = 1;

    if ((float)Screen.currentResolution.refreshRateRatio.value > 60f)
    {
    QualitySettings.vSyncCount = 0;
    Application.targetFrameRate = 60;
    }

  2. huntertom94

    Jul 30, 2022 06:41

    Had the same problem. No tear in editor play mode but tear in full screen build (4k).

    I fixed the problem by setting the default graphic quality from "very low" to "ultra"
    Edit -> Project Settings -> Quality -> Default

    I am using 2022.1

  3. mattis89

    Mar 02, 2022 11:23

    I'm also having this issue in standalone build 2020.3 LTS with both v sync on / off.

  4. BV123

    Aug 15, 2021 07:21

    I was just having a similar problem today and I figured out that all I needed to do was to delete the "QualitySettings.asset" file from Your Project Name->ProjectSettings.

  5. Sjonsson

    Sep 01, 2020 14:39

    I had this issue as well and had tearing with Vsync set to Every V Blank in Quality Settings and also with "Don't sync". I did some debugging and figured out that Nvidia G-sync caused tearing when Vsync was enabled.

    If you are having this issue, try turning V-sync on in Unity and disable your Graphics Card V-sync software. This could be any of the following: Nvidia Adaptive Vsync, Nvidia Smooth Vsync, Nvidia G-sync or AMD FreeSync.

    I have absolutely no idea as of why Nvidia G-sync caused tearing.

  6. AronTD

    Aug 29, 2020 19:58

    I'm still having this issue in 2020. Only occurs when running standalone build in fullscreen mode. Everything else runs fine.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.