ID:260875
Feb 20 2010, 9:02 am
|
|
Srsly. They take way too long and put too much stress on a server, you can't have a game or anything based on interfaces when it's like this.
|
Feb 20 2010, 9:06 am
|
|
You're probably using it inefficiently. You can stack winget()s with special formats, as the Skin Ref says.
|
In response to Kaiochao
|
|
He is actually right, not just with winget, but all interface functions tend to be horribly inefficient for what they are doing.
Some of the most CPU intensive procs in games I have worked on in the past are interface related. In one case, a single proc that did nothing put loop through a list and output what was in the list was the most CPU intensive proc in the entire game. Winget is the same. Making too much use of it can cause some surprising CPU usage. http://files.byondhome.com/TheMagicMan/opti.png Picture is an example. UpdateInterface is a proc with nothing but output() in it. About 28 in total. Just look at how many calls it has, and how much CPU it uses in comparison to everything else. (UpdateShop is the same, nothing but output(), but very high CPU usage for the number of times it is called) |
In response to The Magic Man
|
|
I'm aware that the interface functions are pretty slow, but how does the average look on that profiler?
|
In response to Kaiochao
|
|
0.007 per call. It's not much, but you have to remember. That is more CPU intensive than any other proc in the entire game.
|
In response to The Magic Man
|
|
I'd also like to note that is causes more delay/lag on a hosted server more then it does in a single user world.
So, any minor lag you experience on a single user world is gonna be way worse when hosted with others on. |
In response to The Magic Man
|
|
You will want to review real CPU time, as winget has to traverse the network to get the result.
|
In response to Stephen001
|
|
Interface procedures are slow. But I doubt if your doing something stupid such as 'putting them in a loop'?Try to call it less, that should help reduce the stress.
|