Reproduction Steps
I found out recently in a game of mine that streaming has not been able to keep up.
On a low-end device with low memory, such as a phone or cheap laptop, I was able to run into the issue simply by playing on any graphics level. Personally, I ran into streaming issues such as this with both my Google Pixel 3 phone and Windows 11 laptop.
This issue can also be reproduced within the emulator.
Here is what my game does specically:
- At the beginning of every round, a new map loads into workspace
- When the player deploys, the game shows a loading screen while the area around the spawn point is pre-loaded with
Player:RequestStreamAroundAsync()
- From that point on, the player can proceed with the gameplay.
AGAIN, THIS ISSUE ONLY OCCURS ON LOW-MEMORY DEVICES / EMULATIONS
Expected Behavior
I expect that as I play the game, portions of the map will stream normally. If a part of the map is not loaded, I expect it loads shortly.
Actual Behavior
Here are some good visual aides:
In a sense, parts of my in-game maps do not show, ever. These screenshots are taken about 6-10 minutes after the match started.
Workaround
My workaround for this issue is to load the map into the client manually. However, this causes massive performance issues, due to all of the details being present at all times, and not being streamed out.
I hope this workaround is temporary, as it has harmed in-game performance, and this harmed retention (implied below).
UPDATE
The game now refuses to load most of the map, including the floor.
My entire project is now shut down because it is completely unplayable.
Issue Area: Engine
Issue Type: Other
Impact: Very High NOW CRITICAL
Frequency: Constantly