Even if the game server has been running for a while and is not under load a player can login to the server and Any topic calls they make will go through fine but any winset calls and icon changes aren't displayed until 10-20 seconds after they've connected.
Things that do work during this seemingly clientside lag period:
input/alert/etc
Stat()
sounds
location updates
verbs that don't popup a skin element or html window
Note that this lag time is only for the individual clients that are in this period after logging in for the first time, nobody else experiences any delay during this period.
A few steps to take to find the source of this problem would be:
|
In response to Xirre
|
|
Zecronious wrote:
Is this related to just one of your DM programs or to anything you make? It seems to be a thing that plagues every ss13 codebase except SA's LLJK servers. Xirre wrote: A few steps to take to find the source of this problem would be:
I've looked for sleeps and loops in the client/new and all Login's nothing like that exists. edit: forum really didnt like quoting your post. |
It didn't like my post because I used dd and dt to tab them with some unicode included for bullets. There was no real other way to make a second level list for you while staying in the html rules of the forum. My apologies.
Did you try the world output method? It helps with narrowing your problem. |
Start by disabling system by system not all at once like Names,Object HUDs, Anything that requiers to run at the startup/login process just take them out like they never existed with /*,*/,//. This is the simplest way to find out which one of those causes the problem that ur having, I think.
|
/client new start 198370 |
In response to Zasif
|
|
Zasif wrote:
Start by disabling system by system not all at once like Names,Object HUDs, Anything that requiers to run at the startup/login process just take them out like they never existed with /*,*/,//. This is the simplest way to find out which one of those causes the problem that ur having, I think. I dont know why this was marked as best response, I can return ..() at the beginning of login and client/new and it still does it. |
It had a vote and timed elapsed for new votes.
To be honest I don't follow the log you posted. The numbers at the end of most lines are meaningless without context, and I'm not sure which lines correspond to winsets being sent. |
/client new start 198370 Is client/New to mob/Login /newplayer Clicked ready button, sending player an rpane198405 This is the new player mob clicking on a link right after logging in and calling mob/new_player/Topic. From there it sends the same mob a window that upon load will cause the client to send another Topic call signifying the window successfully loaded. var/html = {" The numbers at the end of the lines are the world.timeofday, as you can see there is a large delay between being sent the window and the client actually loading the window. Note that this was done locally, the delay is probably longer when connecting to a remote server due to latency and server load. |
I'm not seeing how winset is involved. This is a browse(), not a winset. (Although it'd help if you posted some relevant code.) In many cases browse() is sent as a file, and that will queue up behind file requests. If further resources are being downloaded in the background, there's your answer.
|
In response to Lummox JR
|
|
Lummox JR wrote:
I'm not seeing how winset is involved. This is a browse(), not a winset. (Although it'd help if you posted some relevant code.) In many cases browse() is sent as a file, and that will queue up behind file requests. If further resources are being downloaded in the background, there's your answer. Revisiting this topic, is there anyway to go about possibly setting file transfer priorities? |
In response to Pomf123
|
|
If you mean can a browse() be made to transfer ahead of resources, no. Files will download in whatever order they're pushed or requested.
|
If it's related just to a single program then you need to check all your related delays. Sounds like you've got a sleep() delay somewhere where it shouldn't be.