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

[HTML5] HTTPRequest GET, after downloading, stalls when played on Chrome #54631

Open
RokaRoka opened this issue Nov 5, 2021 · 4 comments
Open

Comments

@RokaRoka
Copy link

RokaRoka commented Nov 5, 2021

Godot version

3.3.4.stable

System information

Linux Pop_OS! 21.04

Issue description

My company recently updated to Godot 3.3.4, from Godot 3.2.3, for our web games. A few days after the new builds were out, we started receiving reports about some players waiting absurdly long times for level downloads. When we investigated, we found that the .pck files that were downloaded from an HTTPRequest would take much longer on Chrome specifically.

Looking at the Network tab showed that when the GET request would finish, but a significant amount of time would be still spent "Downloading". The amount of time seemed to vary mainly based on the size of the .pck file being loaded (8MB pcks were not so bad, but 40+MB .pcks were a problem).

Attached, I have a project to replicate the issue, but I was not able to get example .pck files uploaded. Seems like Github didn't like the files, so if you want to test for this you'll have to generate your own .pck file.

Steps to reproduce

  1. Export project in Godot 3.3.4 into the HTML5 folder
  2. Export a large dummy pck file from another project. Bring that to the HTML5 folder and rename it "Example.pck" (best if this .pck is at least above 30MB in size)
  3. Host a local server in the HTML5 folder
  4. Go to local server in Chrome
  5. Open dev tools, go to Network tab
  6. Click "Download Pck" and watch the Network tab. When the pck is finished being transferred, the HTTPRequest is not finished and will stall for some amount of time

Then, to see the expected behavior, follow the steps above with Godot 3.2.3 instead and make sure "Example.pck" is also exported with Godot 3.2.3

Minimal reproduction project

MinimalReproductionProject.zip

@Calinou
Copy link
Member

Calinou commented Nov 5, 2021

This is likely a regression from #46731.

@akien-mga akien-mga modified the milestones: 3.3, 3.5 Nov 8, 2021
@akien-mga
Copy link
Member

Is this still reproducible in 3.5 beta 5 or later?

@akien-mga
Copy link
Member

I tried to reproduce the issue with 3.5 RC 3 but I don't think I see it (though I'm not 100% of what to expect, but I get "Finished!" fairly quickly when downloading a 50M pck from local server). Using Chromium 102.0.5005.61.

I'll assume it's been fixed, but please comment if you are still able to reproduce it.

@RokaRoka
Copy link
Author

Hello Aiken! I haven't had the time to return to this issue in a bit, apologies for that!

I realize that localhost may not be the best place to really see the issue. So I just ran the project hosted from a web server, and here I have 2 gifs that as an example of the problem I am encountering with any version of Godot past v3.2.3

Godot 3.2.3
3 2 3-example

Godot 3.5
3 5-example2

As you can see, the network tab shows the Example.pck download finishing relatively quickly in both versions. However, in 3.5, Godot keeps "Downloading" for nearly twice, or three times, as long.

Both examples are run in Chrome 104.0.5112.79

@Calinou Calinou reopened this Aug 20, 2022
@Calinou Calinou modified the milestones: 3.5, 3.x Aug 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants