ID:132273
 
I've been noticing over the past few months that my BYOND.exe is growing less responsive seemingly by the day, to the point to where it wont open up, and when it does it's unresponsive, it has gotten to the point where it's been unresponsive for up to 10 minutes and I have to shut it down and re-open it up. I've seen others with a similar problem as mine saying that it's because you have too many friends and such, however it's just ridiculous, today it actually reached 40 cpu.

And it's not because im running an obnoxious amount of program's, I have simply ran 1 dream seeker and had byond opened and it still reacts like this.

Solutions?
Iocamus wrote:
Solutions?

Try to isolate the problem. For example, too see if it is due to having too many friends, then logout and set it to sign in with a different key (or as a guest), and see if it has the same delays. Once you have some information as to what may be causing the problem, post a bug report.
In response to Tom
Ya' I have before, and it does seem to run abit faster on a different key, or as you said guest, however im never on it excessively like I am on my main key. Other's have also said that it is due to having too many friends as they experience it aswell. That's about as much info as I can give on it. :/
In response to Iocamus
I assume that if the problem does indeed lie within the amount of friends you have, it's the fact that Dream Seeker is working so hard to upload your friends list, Tell weather they're online, and then locate those friends for you if they're playing games. This might not be the whole process of the CPU usage, but this would be my ballpark guesstimate of the problem.
In response to Iocamus
Iocamus wrote:
Ya' I have before, and it does seem to run abit faster on a different key, or as you said guest, however im never on it excessively like I am on my main key. Other's have also said that it is due to having too many friends as they experience it aswell. That's about as much info as I can give on it. :/

I know for a fact that having too many friends on my pager effected my pager greatly. I deleted about 30 useless people I never talk to, ever, and it works as fast as it did BYOND.exe first came into existence!
In response to Danbriggs
The data part is actually the easy part, it's when your pager has to display all of that data when CPU usage comes into play. Trying to update 250 list entries every couple minutes isn't gonna be resource-friendly at all.

Probably not a bad idea (down the line) to revise how the loading stuff is done, but right now it's probably not even worth thinking about.
In response to Nadrew
Wouldn't it be more efficient if the keys on the Friends list to do all the reporting of their location? Like, if someone on my friends list joins a game, they should send out a report saying they joined a game rather than MY pager having to update 2 minutes later before I find out.
In response to Spunky_Girl
Not really, that would just increase network traffic and resource usage on the hub's end of things. The reason the pager does updates like it does is so that it's not constantly having to talk back and forth with the hub; and so it doesn't have to keep a constant connection to the hub server any time it's connected. Having that many clients connected to it all the time would be far too taxing on the hub server.

Without a constant connection to the client, the hub can only send a message to that client if that client sends it a message first, unless the client has a port open specifically to accept incoming traffic from the pager (which would require opening a port just to use the pager). On the other hand, when the client sends a message to the hub there's already an open connection to send the reply back on without the client having to open a port (the port they send the message to is automatically open to the hub as long as the connection is open).

So the hub just keeps track of groups of updates for each client and sends them all when the client asks. I believe there are a couple of different processes that handle this; one for communication between users, and one for getting information updates from the hub.

In the end, instant updates would probably be too taxing on the system to be possible -- for the same reason most instant message systems have multiple servers on hand just to manage clients, having that many people with open connections to your system is gonna big a fairly large resource hit. (and some systems have a maximum allowance on open connections, once you reach it all new connections fail)