Search Issue Tracker

By Design

Votes

0

Found in

2020.3.36f1

2021.3.6f1

2022.1.9f1

2022.2.0b1

2023.1.0a3

Issue ID

UUM-8398

Regression

No

WaitForSignal is called right after Update and before LateUpdate when Vulkan GraphicsAPI is used

-

How to reproduce:
1. Open the user's attached "1304803-WaitForPriorFrame Subscription Point.zip" project
2. Open the Player Settings (Edit > Project Settings... > Player)
3. In the "Other Settings" sections switch Graphics API to "Vulkan"
4. Open the Build Settings (File > Build Settings...)
5. Check "Development Build" and "Autoconnect Profiler"
6. Build And Run the project
7. Switch to the Profiler and select any frame in the CPU Usage Module
8. In the Module details panel switch to view Timeline (top-right of the panel)

Expected results: "WaitForSignal" call is after "Update" and "LateUpdate" calls
Actual results: "WaitForSignal" call is between "Update" and "LateUpdate" calls

Reproducible with: 2020.3.36f1, 2021.3.6f1, 2022.1.9f1, 2022.2.0b1, 2023.1.0a3

Reproduced on:
Windows 10

Not reproducible on:
VLNQA00335, Samsung Galaxy S20+ 5G (SM-G986B), Android 10, CPU: Exynos 990, GPU: Mali-G77

Note:
- The issue is reproducible only on Standalone Build

  1. Resolution Note:

    After some investigation it is clear this is a design issue with the threading model currently in use with the Standalone player on Windows when using Vulkan and DX12. This is a known performance issue and work is planned to come up with a new threading model which should eliminate this problem, however this is likely to ship no earlier than 23.1 and is unlikely to be a candidate for backporting (subject to complexity).

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.