Been trying to debug lag issues for a while.
Currently I'm at the part where I don't think the code we're debugging is doing anything asinine for rendering, and it might be a client-server connection issue.
However, there's no easy way to debug this, since just round-trip ping isn't exactly a perfect indicator of network performance.
To my understanding, and correct me if I'm wrong, the client will stop rendering while attempting to receive map data for a new location, right? I've noticed this effect when I'm personally on crappy outdoors public wifi.
It would be nice to be able to view this information in some form so we can narrow down what's causing our problems.
ID:2834235
![]() Nov 11 2022, 9:28 am
|
|||||||
Not Feasible
| |||||||
![]() Nov 14 2022, 11:25 am
|
|
Lummox JR resolved issue (Not Feasible)
|
There's no way to do what you're asking. Aside from the fact that this would really be about profiling the network more than the client, there's no way to say "It took X amount of time for this info to arrive after I expected it." The client only requests some things directly from the server, and in those cases, sure, it could get round-trip times; most other stuff is pushed by the server before the client knows to expect it, so there'd be no basis for figuring out the timing.
|
I don't mean figuring out how long it took to send a specific piece of information, I mean that the client **SEEMS** to be freezing while waiting for server information (or near-freezing), but if that's the same then I guess I'm out of luck here.
And by that I mean we have players trying to zoom around the map and lagging their asses off (black tiles/stuttering/inconsistent rendering for a few seconds), but the client-side profiler doesn't report any anomalies in rendering. |
Silicons wrote:
And by that I mean we have players trying to zoom around the map and lagging their asses off (black tiles/stuttering/inconsistent rendering for a few seconds), but the client-side profiler doesn't report any anomalies in rendering. This is usually the sign of bad cdn rsc when preload_rsc is set to 0 or a url. Whats happening here is the client is requesting missing resources from the server. edit: It could also be you have a lot of generated resources on the map. you can preload these by setting the ss13 compile_option for PRELOAD_RSC to 2, but this can leak info about what icons were generated. you can also use a undocumented thingy to manually send resources to clients:
Client.Export("##action=load_rsc", icon/file/fcopy_rsc/etc)
Lummox: this could use a profile line, individual resource downloads when client.preload_rsc is set to 0 and a missing resource is present on the map does seem to block the client/map, and we are interested in how much time is spent blocking the client. |