ID:1824240
 
BYOND Version:507
Operating System:Windows 10 Pro Technical Preview - Build 10049
Web Browser:
Applies to:Dream Seeker
Status: Open

Issue hasn't been assigned a status value.
Descriptive Problem Summary:If you have a verb panel, or even more than one verb panel that appears in the middle of gameplay, it can cause a lot of lag...

Numbered Steps to Reproduce Problem:
1.Create some simple verbs, some menus with Stat() etc...but make one of them show up in another tab...like Rise of Heroes has a temporary tab that appears when you get close to npc's or on top of items you can pick up...

2.Do what's required to make the tab/verb appear...and watch it lag...

Code Snippet (if applicable) to Reproduce Problem:
Project: http://1drv.ms/1J47PKr


Expected Results:The new tab should show up without extreme lag.

Actual Results:The new tabs show up after a huge lag spike.

Does the problem occur:
Every time? Or how often?Every Time
In other games?Yes
In other user accounts?Yes
On other computers?Yes

When does the problem NOT occur?Workarounds listed below.

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)
Every Version

Workarounds:
The workaround is to make the verbs that appear show up in an existing verb panel or find a way to keep the temporary panel up without anything inside of it.

NOTE: The lag isn't as huge in Rise of Heroes as in this project, but it's still annoying and quite noticeable...and can even cause you to be killed by an enemy...if it's not lagging when you get close to the object in the middle with your character, increase the for() loop that set at 1000 iterations.

I have commented out the "set category=CategoryNameHere lines, so try it once normally with the verbs in another verb panel, then test when it adds the new tabs for the verbs...one of them is instant, one of them isn't.

***I don't know if the problem is caused by Stat() itself, caused by the amount of data shown over all the tabs or the exact cause...but it shouldn't be that much lag to show a verb in a tab that has to be shown...
I'll look into this when I can, but I need you to expand on step 2. I mean, "Do what's required to..." isn't a step. I need detailed instructions.

Also I'd like to know: If this actual network lag, or is it something in the server or client processing? If you run this in Dream Daemon and join it in Dream Seeker on a local connection, you should be able to see in your task manager if either one of them spikes. If so I'd like to know which one.
***First off, it's Dream Seeker with the issue, Dream Daemon stays at a solid 0% cpu usage the whole time except for a few seconds as the server starts...

Dream Seeker spikes up to a full 100% cpu usage though...this is the obvious reason we see the lag...it spikes every single time you get close enough to make the verb panels appear...always to 100%.

OK, detailed steps:

1.Download my test project...it's setup currently for the no-lag scenario to test one without lag(instantly) and then again with lag.

2.Start the project up, it doesn't matter how...

3.Walk within one tile of the red circle in the middle of the map.

There won't be any lag because of how it's setup, this was for a comparison...

Now, to make it lag go back to dream maker...

4.I have 5 lines commented out...un-comment the 5 lines so you can make extra verb panels appear in the game when you get close to the object this time.

5.Compile and start the game again to test it with extreme lag.
In response to Superbike32
Superbike32 wrote:
***First off, it's Dream Seeker with the issue, Dream Daemon stays at a solid 0% cpu usage the whole time except for a few seconds as the server starts...

Dream Seeker spikes up to a full 100% cpu usage though...this is the obvious reason we see the lag...it spikes every single time you get close enough to make the verb panels appear...always to 100%.

What I'm asking though is, while it's clear this happens when you run the game in Dream Seeker--so it's both server and client--I want to know which end specifically has the issue. If you run it in Dream Daemon and connect to that via Dream Seeker, which program spikes, if any?
That's what I'm saying Lummox, I already did the test...when testing with Dream Daemon, it stays at 0% and doesn't even see a 1% small tiny cpu spike...

Dream Seeker connected to that world WHICH IS BEING HOSTED IN DD however spikes up to 100% cpu usage...

I did say in the above post about dream daemons cpu and dream seekers...I don't see how it wasn't clear.
Oh, so you did. But to be honest I'm finding your posts very difficult to read because of the ... stuff. I end up skimming half of it.
A few dots stop you from reading my posts properly?
Okay, I'll stop doing that then.

I've been using it as a kind of separator between large portions of text but it's apparent if I write something that's long, I have to start separating more of it onto new lines or find another less annoying way than dots to separate large amounts of text.
Well that's what the period is for. Basically with ... all over the place you're writing very long run-on sentences. It distracts the eye.
Is there a specific version of 507 this happens with? You said in your report that this happens in "every version", but can you be more specific which ones you've tried? Does it work as expected in 506 or is that an issue too?

I'm curious if this might be related to another report.
I've noticed this problem ever since the first time I started playing BYOND, it was never a lot of lag so I never even tried to take the time to nail down what the issue was in the past.

If you look at my account creation date, you'll know how many BYOND versions this bug covers. Just for testing purposes though I tested all 506/507 versions and it happens in all of them with my test project.
Huh. So this bug basically goes way, way back? That's very interesting indeed.
Small Bump.
I'm able to reproduce this when adding two stat panels at run time with verbs and objects inside. It appears the lag gets worse depending on the amount of time the client has been running, the amount of data being displayed in the stat panels, and how many times the stat panels have previously displayed.