Hi this is just a repost of my stackoverflow and chromium bug report post. But maybe some of you have an idea on why this is happening.
On a slow internet connection chromium browsers like Chrome and Edge fail to load texture files.
To reproduce, disable caching and set throttling to Fast 3G in Chrome. Then visit
Loading of image files will fail with error net::ERR_HTTP2_PROTOCOL_ERROR
For a more detailed description of the problem please checkout
https://stackoverflow.com/questions/68711310/neterr-http2-protocol-error-for-large-png-files-on-throttled-slow-connection and https://bugs.chromium.org/p/chromium/issues/detail?id=1237907
EDIT: Firefox has no problems loading the files
Unfortunatly they are pretty large. This was a project of an intern. Im currently cleaning it up, but the error is still happening with files not greater than 1MB.
I try to get the cleaned up version running as soon as possible
August 10, 2021, 12:39pm
Does this happen on a different server (like our playcanv.as)?
August 10, 2021, 12:39pm
(Side note: consider using Basis texture compression as that can give much smaller files than the PNGs
It happens here:
But im pretty sure it also happens on the playcanvas server. I have to test that again
I can confirm i also receive the error on
launch.playcanvas.com although way less. I had to revert my optimizations.
Very weird, not seen this before
Ok so i tested a bit more and it looks like on
launch.playcanvas.com the error only shows up for large files over 6 MB. After 6-7 minutes the download stops and chrome shows net::ERR_HTTP2_PROTOCOL_ERROR.
Maybe some server setting to prevent extremly long running connections?
Weird thing is Firefox has no problem with downloading the files and also takes more than 7 minutes to download large files
I’m can now produce error’s in Firefox as well. I’ll try to create a demo project tomorrow to showcase the issue.
Ok so i set up a test project:
Overview | Dashboard | HTTP Error Test | PlayCanvas | 3D HTML5 & WebGL Game Engine
When thottling set to Fast 3G in Chrome this will error with
net::ERR_HTTP2_PROTOCOL_ERROR for http/2
net::ERR_CONNECTION_RESET for http/1.1
launch.playcanvas.com serves with http/2 and
playcanv.as serves with http/1.1
EDIT: On further inspection http/1.1 actually seems to work
EDIT 2: I also uploaded it to one of our server’s HTTP Error Test
Firefox with throttling set to Regular 3G loads as expected
Chromium browsers with throttling set to Fast 3G fail to load textures
August 31, 2021, 9:02pm
@LucaHeft Are you still experiencing problems with this? We deployed some fixes related to the
ERR_HTTP2_PROTOCOL_ERROR issue today. I’m hoping this also addresses what you describe here.
@will I just tested again and received the same error. But i’m pretty confident, that this is a Chromium bug as Firefox has no problems with loading the textures.
By the way you should be able to test this yourself. The playcanvas project should be public. If it doesn’t work let me know.
Thanks for the investigation in the problem though!
December 14, 2021, 6:03pm
I can not reproduce the issue anymore. Chrome was updated since the issue was posted and we upgraded our asset delivery system recently so please check your tests again.
https://launch.playcanvas.com/1210042 successfully loaded in 13 min with disabled cache and Fast 3G throttling
I am closing the issue, but please re-open if you think it’s necessary.
I can confirm on
launch.playcanvas.com it seems to work.
On our apache server i now get ERR_CONNECTION_CLOSED HTTP Error Test
So i guess it’s wrong server configuration on our side. What exactly did you change to get it working?
December 20, 2021, 2:29pm
We launched new asset delivery system using CDN (blog post this week). The previous system used streaming from AWS S3, which had issues in some edge cases. When Fast3G throttling enabled and 3Mb assets, sockets to deliver assets from server are opened too long, so timeouts happened (at least on our side). I would suggest to try to play with timeout setting on your side, it may help (if it’s important)