Download

Changing with EOS is a lot slower than without EOS

Hi!
I’ve been trying to use the EOS subsystem, and mainly it works, but it takes a huge amount of time to change maps. There is like 10-15 sec delay between the listen server loading in, and the clients loading in.
When it actually does load, the logs are filled with these lines:

[2021.11.14-18.03.10:271][ 95]LogNet: NotifyAcceptingConnection accepted from: EOS:000228d59a1e4051820067c6625e33c1:GameNetDriver:26
[2021.11.14-18.03.10:271][ 95]LogHandshake: SendConnectChallenge. Timestamp: 31.836621, Cookie: 115037142181077201113120065098240102015072220208035232123108
[2021.11.14-18.03.10:271][ 95]LogNet: NotifyAcceptingConnection accepted from: EOS:000228d59a1e4051820067c6625e33c1:GameNetDriver:26
[2021.11.14-18.03.10:271][ 95]LogHandshake: SendConnectChallenge. Timestamp: 31.836621, Cookie: 115037142181077201113120065098240102015072220208035232123108
[2021.11.14-18.03.10:271][ 95]LogNet: NotifyAcceptingConnection accepted from: EOS:000228d59a1e4051820067c6625e33c1:GameNetDriver:26
[2021.11.14-18.03.10:271][ 95]LogHandshake: SendConnectChallenge. Timestamp: 31.836621, Cookie: 115037142181077201113120065098240102015072220208035232123108
[2021.11.14-18.03.10:271][ 95]LogNet: NotifyAcceptingConnection accepted from: EOS:000228d59a1e4051820067c6625e33c1:GameNetDriver:26
[2021.11.14-18.03.10:271][ 95]LogHandshake: SendConnectChallenge. Timestamp: 31.836621, Cookie: 115037142181077201113120065098240102015072220208035232123108
[2021.11.14-18.03.10:271][ 95]LogNet: NotifyAcceptingConnection accepted from: EOS:000228d59a1e4051820067c6625e33c1:GameNetDriver:26
[2021.11.14-18.03.10:271][ 95]LogHandshake: SendConnectChallenge. Timestamp: 31.836621, Cookie: 115037142181077201113120065098240102015072220208035232123108
[2021.11.14-18.03.10:271][ 95]LogNet: NotifyAcceptingConnection accepted from: EOS:000228d59a1e4051820067c6625e33c1:GameNetDriver:26
[2021.11.14-18.03.10:271][ 95]LogHandshake: SendConnectChallenge. Timestamp: 31.836621, Cookie: 115037142181077201113120065098240102015072220208035232123108
[2021.11.14-18.03.10:271][ 95]LogNet: NotifyAcceptingConnection accepted from: EOS:000228d59a1e4051820067c6625e33c1:GameNetDriver:26
[2021.11.14-18.03.10:271][ 95]LogHandshake: SendConnectChallenge. Timestamp: 31.836621, Cookie: 115037142181077201113120065098240102015072220208035232123108
[2021.11.14-18.03.10:271][ 95]LogNet: NotifyAcceptingConnection accepted from: EOS:000228d59a1e4051820067c6625e33c1:GameNetDriver:26
[2021.11.14-18.03.10:271][ 95]LogHandshake: SendConnectChallenge. Timestamp: 31.836621, Cookie: 115037142181077201113120065098240102015072220208035232123108
[2021.11.14-18.03.10:271][ 95]LogNet: NotifyAcceptingConnection accepted from: EOS:000228d59a1e4051820067c6625e33c1:GameNetDriver:26
[2021.11.14-18.03.10:271][ 95]LogHandshake: SendConnectChallenge. Timestamp: 31.836621, Cookie: 115037142181077201113120065098240102015072220208035232123108
[2021.11.14-18.03.10:271][ 95]LogNet: NotifyAcceptingConnection accepted from: EOS:000228d59a1e4051820067c6625e33c1:GameNetDriver:26
[2021.11.14-18.03.10:271][ 95]LogHandshake: SendConnectChallenge. Timestamp: 31.836621, Cookie: 115037142181077201113120065098240102015072220208035232123108
[2021.11.14-18.03.10:271][ 95]LogNet: NotifyAcceptingConnection accepted from: EOS:000228d59a1e4051820067c6625e33c1:GameNetDriver:26
[2021.11.14-18.03.10:271][ 95]LogHandshake: SendConnectChallenge. Timestamp: 31.836621, Cookie: 115037142181077201113120065098240102015072220208035232123108
[2021.11.14-18.03.10:271][ 95]LogNet: NotifyAcceptingConnection accepted from: EOS:000228d59a1e4051820067c6625e33c1:GameNetDriver:26
[2021.11.14-18.03.10:271][ 95]LogHandshake: SendConnectChallenge. Timestamp: 31.836621, Cookie: 115037142181077201113120065098240102015072220208035232123108
[2021.11.14-18.03.10:271][ 95]LogNet: NotifyAcceptingConnection accepted from: EOS:000228d59a1e4051820067c6625e33c1:GameNetDriver:26
[2021.11.14-18.03.10:271][ 95]LogHandshake: SendConnectChallenge. Timestamp: 31.836621, Cookie: 115037142181077201113120065098240102015072220208035232123108
[2021.11.14-18.03.10:272][ 95]LogNet: NotifyAcceptingConnection accepted from: EOS:000228d59a1e4051820067c6625e33c1:GameNetDriver:26
[2021.11.14-18.03.10:272][ 95]LogHandshake: SendConnectChallenge. Timestamp: 31.836621, Cookie: 115037142181077201113120065098240102015072220208035232123108
[2021.11.14-18.03.10:272][ 95]LogNet: NotifyAcceptingConnection accepted from: EOS:000228d59a1e4051820067c6625e33c1:GameNetDriver:26
[2021.11.14-18.03.10:272][ 95]LogHandshake: SendConnectChallenge. Timestamp: 31.836621, Cookie: 115037142181077201113120065098240102015072220208035232123108
[2021.11.14-18.03.10:272][ 95]LogNet: NotifyAcceptingConnection accepted from: EOS:000228d59a1e4051820067c6625e33c1:GameNetDriver:26
[2021.11.14-18.03.10:272][ 95]LogHandshake: SendConnectChallenge. Timestamp: 31.836621, Cookie: 115037142181077201113120065098240102015072220208035232123108
[2021.11.14-18.03.10:272][ 95]LogNet: NotifyAcceptingConnection accepted from: EOS:000228d59a1e4051820067c6625e33c1:GameNetDriver:26
[2021.11.14-18.03.10:272][ 95]LogHandshake: SendConnectChallenge. Timestamp: 31.836621, Cookie: 115037142181077201113120065098240102015072220208035232123108
[2021.11.14-18.03.10:272][ 95]LogNet: NotifyAcceptingConnection accepted from: EOS:000228d59a1e4051820067c6625e33c1:GameNetDriver:26
[2021.11.14-18.03.10:272][ 95]LogHandshake: SendConnectChallenge. Timestamp: 31.836621, Cookie: 115037142181077201113120065098240102015072220208035232123108
[2021.11.14-18.03.10:272][ 95]LogNet: NotifyAcceptingConnection accepted from: EOS:000228d59a1e4051820067c6625e33c1:GameNetDriver:26
[2021.11.14-18.03.10:272][ 95]LogHandshake: SendConnectChallenge. Timestamp: 31.836621, Cookie: 115037142181077201113120065098240102015072220208035232123108
[2021.11.14-18.03.10:272][ 95]LogNet: NotifyAcceptingConnection accepted from: EOS:000228d59a1e4051820067c6625e33c1:GameNetDriver:26
[2021.11.14-18.03.10:272][ 95]LogHandshake: SendConnectChallenge. Timestamp: 31.836621, Cookie: 115037142181077201113120065098240102015072220208035232123108
[2021.11.14-18.03.10:272][ 95]LogNet: NotifyAcceptingConnection accepted from: EOS:000228d59a1e4051820067c6625e33c1:GameNetDriver:26
[2021.11.14-18.03.10:272][ 95]LogHandshake: SendConnectChallenge. Timestamp: 31.836621, Cookie: 115037142181077201113120065098240102015072220208035232123108
[2021.11.14-18.03.10:272][ 95]LogNet: NotifyAcceptingConnection accepted from: EOS:000228d59a1e4051820067c6625e33c1:GameNetDriver:26
[2021.11.14-18.03.10:272][ 95]LogHandshake: SendConnectChallenge. Timestamp: 31.836621, Cookie: 115037142181077201113120065098240102015072220208035232123108
[2021.11.14-18.03.10:272][ 95]LogNet: NotifyAcceptingConnection accepted from: EOS:000228d59a1e4051820067c6625e33c1:GameNetDriver:26
[2021.11.14-18.03.10:272][ 95]LogHandshake: SendConnectChallenge. Timestamp: 31.836621, Cookie: 115037142181077201113120065098240102015072220208035232123108
[2021.11.14-18.03.10:272][ 95]LogNet: NotifyAcceptingConnection accepted from: EOS:000228d59a1e4051820067c6625e33c1:GameNetDriver:26
[2021.11.14-18.03.10:272][ 95]LogHandshake: SendConnectChallenge. Timestamp: 31.836621, Cookie: 115037142181077201113120065098240102015072220208035232123108
[2021.11.14-18.03.10:272][ 95]LogNet: NotifyAcceptingConnection accepted from: EOS:000228d59a1e4051820067c6625e33c1:GameNetDriver:26
[2021.11.14-18.03.10:272][ 95]LogHandshake: SendConnectChallenge. Timestamp: 31.836621, Cookie: 115037142181077201113120065098240102015072220208035232123108
[2021.11.14-18.03.10:272][ 95]LogNet: NotifyAcceptingConnection accepted from: EOS:000228d59a1e4051820067c6625e33c1:GameNetDriver:26

The problem is, that the EOS_Platform_Tick(PlatformHandle); is called by the CoreTicker (is registered with FTicker::GetCoreTicker().AddTicker(FTickerDelegate::CreateRaw(this, &FEOSSDKManager::Tick), 0.0f); ), which is running on game thread. The game thread doesn’t tick until the movieplayer (loadingscreen) is visible.
So basically the server does not receive any of the packets sent by client (the challenge packets) while it is loading, and when it finally loads, it receives 1 packet for every second it spent loading (hence the log spam), which in turn increases the time it takes to load the clients.

I’ve checked the steam implementation, and that actually does the steam update in a seperate online thread, instead of the game thread.

Any chance that the online subsystem team can look at this implemention, and fix it, or suggest a solution?