ID:1917533
 
BYOND Version:508
Operating System:Windows 8 64-bit
Web Browser:Chrome 44.0.2403.155
Applies to:Webclient
Status: Open

Issue hasn't been assigned a status value.
Descriptive Problem Summary: When playing Severed World on the webclient, my framerate is very low, making it unplayable as shown in the video sent to Lummox.

Machine specs are 12GB RAM and 1.9Ghz (4 cores).

Does the problem occur:
Every time? Or how often? Every time.
In other games? SS13 and Eternia are fine for me.
In other user accounts? Yes.
On other computers? Untested.

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? I've rolled back the BYOND version up to three months and it all seems to have the same issue. I've also tried multiple web browsers.


What renderer are you using?
Now that I can see the video, I'm scratching my head. I've seen nowhere near the level of poor performance you're seeing. I can't help but wonder if the very large screen size is part of it, if your renderer is simply blitting the results super-slowly. On a comparable machine (with less RAM actually) I'm not seeing anything like that.
In response to Ter13
Ter13 wrote:
What renderer are you using?

I'm not sure how to check but I'm pretty sure it's setting to Canvas2D by default.

EDIT: Was able to try multiple renderers with the fixes in the latest version. No improvements.
Canvas2D is incredibly slow. WebGL should be faster in theory. Interesting that switching doesn't give you any kind of improvements.
I am also getting extremely poor performance in the latest webclient version (508.1296). Not as bad as what the video shows, but still very bad.
You guys both have hardware acceleration enabled in chrome/firefox, right?
I have hardware acceleration on.



Apologies for the shitty gif. The ideal FPS in this scenario is 40 - it gets pretty close when the player stands perfectly still (even if other things in the screen are moving).

FPS is about an average of 2-5 higher when not recording.
In response to Ter13
Ter13 wrote:
You guys both have hardware acceleration enabled in chrome/firefox, right?

Yup. It might be worth having a few people try it to see if they're experiencing similar problems.
Possibly a Windows 8 issue? I have no problems with the webclient as far as performance goes on either two of my terminals (one is a Windows 7, the other an old Macbook).
I'm running Windows 7 Pro 64-bit, and I get some pretty gnarly FPS drops as shown above.
The funny thing is I tested in Windows 7 64-bit and saw nothing nearly as bad as you did. But I'm not sure about window size and how that factors in. I was also testing with older source that has an older view, which is even odder.

I can't help but wonder if the sort routine is sucking up the most cycles, as you said it's much worse when moving. I could attempt a switch to Timsort (I have code for it) to see if that might help at all, though it's been hard to test properly on my end without seeing the same degradation.

Another thing I've been wondering about is if the timer in drawMap() could use some improvement. Maybe it's not handling variations as nicely as I had hoped, and that could be causing problems--not on the level you've described, but possibly enough to explain occasional jerkiness.
Anything we could do in the meantime? Maybe have more people test out the performance and see what they think?
More testers couldn't hurt. I'd definitely like to have more data points. Especially I want to know:

1) At what times is performance worst, and when is it best?
2) Which OS/browser/hardware combos see the most degradation in performance, and which see the least?
We've had more people try it out, and they mostly agree with slow response rates and low FPS during play. The screen lag gets worse during movement / animation in general. My own FPS in the latest version is between 6-10 while moving.

Eternia also seems to be similar: http://www.byond.com/play/108.33.115.197:1337

They're both using 508.1298.
Standing still. (59.0 FPS)


Dashing. (53.0 FPS)


Walking. (53.1 FPS)


-- Specs --
Browser: Google Chrome Version 44.0.2403.157 m
Operating System: Windows 10 64-bit Home
RAM: 2 x 8GB DDR3-1600
Graphics Card: NVIDIA GeForce GTX 770
CPU: Intel(R) Core(TM) i7-4770 Quad-Core @ 3.4GHz
All testers used Google Chrome to play. All testers experienced similar FPS rates on alternative browsers (Firefox and IE). Also, all testers saw an improvement on FPS within about five minutes (including myself) but nothing too substantial.

Tester #1 - http://prntscr.com/8atyzi
Movement: 4-8FPS
Idle: 8-12FPS

Tester #2 - http://puu.sh/jUBdd/3b9a497c88.png
Movement: 22-28FPS
Idle: 32-40FPS

Tester #3 - http://puu.sh/jUC9k/6aa05d9eee.png
Movement: 15FPS - 20FPS
Idle: 20FPS - 25FPS

Tester #4 - http://puu.sh/jUCfX/58fc2eba15.png
Movement: 6-10FPS
Idle: 11-15FPS
Interesting. The processors hovering around 2 GHz clearly performed the worst. I can't tell to what extent the graphics card could be an issue or not.

I don't have any immediate solutions for this in the next release (508.1299) but this will remain high priority to work on. I may consider switching to Timsort for this release just to see if that makes any difference. The fact that you're seeing degradation even while idle, though, would tend to suggest Timsort may not do anything. (It depends on whether items are moving through the scene. If nothing is moving at all, then the map will definitely not attempt to resort anything.)
If it's a trivial change, might be worth it just to see if there's any improvement. Either way, I'll wrangle up more testers to see if the 2 GHz performance is consistent.
I have access to 4 different machines of varying specs.

One is an AMD Phenom II with an Nvidia 660GTX and 8GB RAM,

One is an Intel Core I7 920 at 2.667ghz stock (3.8-4ghz OC) with an Nvidia 960GTX with 6GB RAM

One is an AMD Vizshera at 3.5ghz with a GTX960 and 8GB RAM.

And the last one is a 1.3ghz piece of crap Toshiba laptop.

Page: 1 2 3 ... 9 10 11