Search Issue Tracker

Won't Fix

Won't Fix in 2023.1.X

Votes

1

Found in

2023.1.0a1

Issue ID

UUM-1163

Regression

No

[WebGL] Profiling data is not being flushed to the Editor when using Graphy plugin and profiling WebGL build

--

-

Reproduction steps:
1. Open the attached project ("case_1265204-WebGL Profiling.zip")
2. Open the repro scene ("SampleScene")
3. Open Profiler tab
4. Make a WebGL build (development, AutoConnect enabled) and run it
5. Go back to the Editor and inspect Profiler
6. (if no repro) Restart the build inside browser

Expected result: Build data is being flushed to the Editor and displayed in the Profiler tab
Actual result: Build data is not displayed in the Profiler tab and "Unknown profiler sampler in thread block: 578" error is thrown

Reproducible with: 2019.4.7f1, 2020.1.2f1, 2020.2.0a20
Couldn't test with 2018.4 (Graphy errors after downgrade)

Notes:
1. The issue does not reproduce on an empty project
2. The repro project is also using Graphy plugin for in-build profiling
3. The following warning is being thrown when issue is reproduced:
"Autoconnected Player Stopping profiler. Profiler is not able to flush data to a file or socket and exceeded maximum allowed memory for buffering.
Please use Profiler.maxUsedMemory API or -profiler-maxusedmemory command line parameter to increase maximum allowed memory usage.
Using 16793600 bytes while Profiler.maxUsedMemory is 16777216 bytes."

  1. Resolution Note:

    There are no fixes planned for this Bug

  2. Resolution Note (2023.1.X):

    After testing this project with Unity 2023, 2022, and 2021, the issue does not happen there. I then tested it with 2020.3 and did indeed repro it. It seems that between 2020.3 and the next versions the profiler sends data faster and the buffer is enough.

    A workaround I tried for my 2020.3 test that succeeded is to follow the error message in the console that says:
    "Please use Profiler.maxUsedMemory API or -profiler-maxusedmemory command line parameter to increase maximum allowed memory usage."

    I did that by modifying the Module object in the build's loader.js file and setting the flag with a larger value as an argument like this:

    var Module = {
    arguments: ['-profiler-maxusedmemory', 100000000],
    canvas: canvas,
    webglContextAttributes: { ... }
    }

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.