1308 includes some undocumented updates that should help further. Please retest. New profiler info with each new version would really be ideal.
Here's a profile in the latest BYOND release:

http://puu.sh/kQNlx/b0366f09d4.cpuprofile

So far there's been pretty great improvements over the past few releases overall.
I fear I may be hitting all the low-hanging fruit, after which it might be tougher to pare down, but I'll see what I can do here.
In response to Pixel Realms
Pixel Realms wrote:
In the latest version there's a big improvement, with my FPS now at 20-25, after originally being at 6-10. Still not up to par with DS, mind, but definitely a step in the right direction.

While idle it's now at ~45FPS for me, and during movement it usually stabilizes at 30FPS or so, reaching up to 40FPS at times if I run about in the same area, though also dipping to 15FPS when new objects come into view etc. Inside small interior where there's a lot of black space, FPS can pass 55FPS while moving.

Also, it does seem to have slight freezes now and then, noticeable stutters that aren't too pleasant. My machine specs are fairly okay too (1.9Ghz, 4 cores).
Do the freezes line up in roughly 5-minute intervals? If so I have a hunch the webclient GC is responsible. I'm reworking that code to space it out.
In response to Lummox JR
Lummox JR wrote:
Do the freezes line up in roughly 5-minute intervals? If so I have a hunch the webclient GC is responsible. I'm reworking that code to space it out.

By freezing I mean a lot of stuttering unless you've been in the same area for a while. It also seems to happen more when not moving in a straight line

The FPS in these videos are lower than what I usually experience because of the screen recording:

https://www.youtube.com/watch?v=fj1daJsMshk
https://www.youtube.com/watch?v=HIXSYy-TB7U
What are your expectations for the webclient's optimal performance by the way? I remember Tom saying something along the lines of there being no reason why the webclient can't perform as well as DS and potentially better.

I'm really hoping that it's realistic for it to be able to support an ORPG with more work. I'm confident that with the exposure of HTML5 portal sites and Steam, Severed could be a popular game to showcase what DM can do alongside NEStalgia once we're comfortable with a release and the webclient is up to scratch. There's definitely been big improvements compared to how it performed when this thread was started, but it looks like it still has a long way to go.

You'll also notice that our CPU in the video isn't great, but in DS it's at 0-1%. That's probably best left for a future thread though.
I'll have to look at the server CPU again sometime, but by and large it should be close to DS-level performance already so I'm not sure how much more can be shaved down. I'm sure a little more can, but last time I looked they were pretty close to parity on that end.

Client-side, probably a lot is dictated by the browser and its JIT implementation, and also things like WebGL performance. I have a feeling there are bits of StageXL that could be faster--although one thing still on my to-do list is moving to a newer version that may perform better. One thing I'm seeing fairly consistently is that the render code is one of the monsters, and maybe new versions are a little more streamlined.

I know the high view size and frame rate are both relevant, because those will always stress an engine of this type. RPGs at BYOND's native 10 FPS with a smaller view are friendlier to both ends of the code. Nevertheless I think it's reasonable to think Severed can be brought up to speed.

I was doing quite a lot of detective work on webclient speed today, BTW. The big villain I'm aiming to take down next is one that comes up the first time an icon frame is displayed.
Heads up: One of the changes I made to drawing quality seems to have an impact on Severed World, so I suggest since you don't use the hotbar, you set your map's config so sharp=false. (This may be doable directly in the skinparams attribute.) The WebGL rendering has been altered to handle scaling concerns better, and it does seem to be a titch slower for Severed World. With sharp=false you'll use the old way of doing things.

I'm looking into things I can do to improve rendering speed otherwise, like combining icons into a single large texture, but my early experiments on that suggest I'll need to pad each sprite for it to work properly.
All right, a belated thanks for the heads up... we're eager to check out these optimizations, and hope to playtest on a larger scale within the near future once the FPS is reasonable for the average machine.
I mentioned this to Doohl already, but the skinparams value you need for the map is rendering-mode=WebGL:low (in addition to your existing params of course).
How's this going? Hope I don't seem pushy. It's difficult to playtest well at the current FPS, though I imagine getting it up to speed will take a while.
It will take a while for sure, but I also need an ongoing stream of data to work with. When new releases come out, it would help to have a new profile result for each one. (1313 was an exception in that it made no webclient changes from 1312.) That will help me know how things are going.

One of the major areas I'm looking to improve is the way icons are being drawn in StageXL, by using texture atlases. This is tricky however, in that texture atlases are notoriously prone to bleeding and I need to figure out a way to avoid that problem.
Using windows 7, Chrome


http://files.byondhome.com/DarkerEmerald/ CPU-20151121T013053.cpuprofile

Not sure how to do this but I ran the profile through 1 round of survival with the maximum amount of zombies in game which is about 1200.

My game still uses 10fps which is why I guess I hardly notice anything at all, but I did have the whole screen filled with mobs and objs and did not notice any slowdowns on my end. 1 player also reported today that the webclient was very laggy compared to dream seeker so its probably a pc issue im guessing.
In response to Pixel Realms
More improvements with the latest version (13.15). Very promising ones, too. It feels a lot smoother overall, numbers aside.

Movement is typically a steady 40-50FPS, though in new areas it can dip as low as 20 on my machine. The longer you're in an area, the more stable the FPS becomes, and it can take a little while (~5-10) seconds before it's 40+.

The most troubling thing I've noticed is that when AI is animated and attacking, small freezes can occur where the FPS drops under 5. This also improves over time though.

I'm not really sure if this information is useful, since the above behaviour was consistent with past versions. The changes that were made did result in nice general improvements regardless though, so good stuff!
Very glad to hear that!
In response to Lummox JR
Lummox JR wrote:
Very glad to hear that!

Yeah, it's probably the biggest improvement yet for me. Why is FPS typically low at startup, though? The more I play the more consistent it seems to become.

Saying that, I may be wrong. It's difficult to figure out any kind of pattern... all I know is that the latest version was an improvement overall.
Page: 1 2 3 4 5 ... 9 10 11