The THROWuglarity

For feedback on the game code and design. Feedback on server rules and playstyle belong in Policy Discussion.
Post Reply
Actionb
Joined: Thu Feb 05, 2015 8:51 am
Byond Username: Actionb

The THROWuglarity

Post by Actionb » #101374

A few months (or years, forgot) back, after some performance tweaks, you could actually enjoy a loose singularity without much lag. Even WITH the speed boost it was given shortly after, playing felt rather smooth. Bombs were pretty to watch considering it wasn't just "SMOKE--LAAAAAAAAAAAAAAAAAAAAAG--EVERYTHING IS GONE"; you could actually see the destruction happening.
I was really heavily impressed with that feat, considering SS13 has always been a laggy piece of garbage.
Ever since singularities and bombs have begun throwing shit around, while amazing gameplay-wise, the lag has become worse than ever before.
As soon as singularity is free, the game usually just stops for 5 seconds straight and whenever it affects a large chunk of the station, the lag can be 10+ seconds long.
Are thrown objects really worth having such a horrible laggy time?
User avatar
MisterPerson
Board Moderator
Joined: Tue Apr 15, 2014 4:26 pm
Byond Username: MisterPerson

Re: The THROWuglarity

Post by MisterPerson » #101380

Everything I've seen suggests it's fastmos, not throwing.

EDIT: Profiles from a few days ago:
http://privatepaste.com/09e5c70f5b - compare throw_at() to everything else, air and lighting subsystems are monsters
http://privatepaste.com/bcc7c3ad00 - same info but what parts of air and lighting ss's are awful. Also Del() is still :(
I code for the code project and moderate the code sections of the forums.

Feedback is dumb and it doesn't matter
User avatar
Remie Richards
Joined: Thu Apr 17, 2014 7:11 pm
Byond Username: CrimsonVision
Location: England, UK, Earth, Sol, Milky Way, Local Group, Virgo Supercluster, Known Universe
Contact:

Re: The THROWuglarity

Post by Remie Richards » #101382

While not 100% relevant I'll step in a pinpoint the lag exactly, it is NOT the fact they throw the items, no no! that's fairly lagless, it uses a fairly common line drawing algorithm for throwing.
what's laggy about it is each thrown object is spawn(0)'d off, and a spawn(0) is equivalent to making all elements in a loop happen simultaneously, that's all at once! so when you have let's say for the singularity, 150-250~ objects on screen being thrown at the exact same moment, you'll bet your ass that's going to lag.

however if we remove the spawn(0)... objects will get thrown one by one, now for the singularity, that might work, it may not look ~that~ weird, but for an explosion? chucking one object a frame which arguably will still be going after the explosion effect ended? that's gonna look ugly.

Edit: fastmos doesn't help but the lag occurred before fastmos.
私は完璧
User avatar
MisterPerson
Board Moderator
Joined: Tue Apr 15, 2014 4:26 pm
Byond Username: MisterPerson

Re: The THROWuglarity

Post by MisterPerson » #101384

The spawn()'s are definintely a problem, especially since they're totally fucking unnecessary.
I code for the code project and moderate the code sections of the forums.

Feedback is dumb and it doesn't matter
User avatar
Remie Richards
Joined: Thu Apr 17, 2014 7:11 pm
Byond Username: CrimsonVision
Location: England, UK, Earth, Sol, Milky Way, Local Group, Virgo Supercluster, Known Universe
Contact:

Re: The THROWuglarity

Post by Remie Richards » #101385

They're necessary to get the simultaneous effect, which for everything except the singulo (maybe) would look absolutely disgusting.
I'd rather remove explosions throwing items altogether than just remove the spawns on explosion item throwing (but I ain't removing explosion item throwing any time soon because muh embedding feature)
私は完璧
User avatar
Saegrimr
Joined: Thu Jul 24, 2014 4:39 pm
Byond Username: Saegrimr

Re: The THROWuglarity

Post by Saegrimr » #101387

It'd probably help if the repeated metal rod and glass shard fuckstorm would delete the items if they pass through the singularity. Otherwise it just throws them back and forth passing straight through the singulo forever unless the item happens to be within that little zone that deletes everything whenever the singulo actually does its movement (and not drift).
tedward1337 wrote:Sae is like the racist grandad who everyone laughs at for being racist, but deep down we all know he's right.
onleavedontatme
Joined: Fri Mar 13, 2015 10:26 pm
Byond Username: KorPhaeron

Re: The THROWuglarity

Post by onleavedontatme » #101389

I cant imagine generating thousands of floor tiles to throw helps much either. The whole thing seems pretty unnecessary a radiation spewing vortex destroying everything is already very deadly.
User avatar
Remie Richards
Joined: Thu Apr 17, 2014 7:11 pm
Byond Username: CrimsonVision
Location: England, UK, Earth, Sol, Milky Way, Local Group, Virgo Supercluster, Known Universe
Contact:

Re: The THROWuglarity

Post by Remie Richards » #101390

Kor wrote:I cant imagine generating thousands of floor tiles to throw helps much either. The whole thing seems pretty unnecessary a radiation spewing vortex destroying everything is already very deadly.
Fairly certain like most objects these days, the "item" form is actually stored inside the object and simply removed from the contents list, meaning the singularity actually causes no New() lag.
私は完璧
Cheimon
Joined: Tue May 20, 2014 6:53 pm
Byond Username: Cheimon

Re: The THROWuglarity

Post by Cheimon » #101393

As far as I'm concerned, the singularity is only cool as long as it's non-laggy. The moment it starts to seriously lag, any interest that its deadliness holds dies.

It's not amazing gameplay-wise if it takes 20 minutes to play through 7 of in-game time.
Actionb
Joined: Thu Feb 05, 2015 8:51 am
Byond Username: Actionb

Re: The THROWuglarity

Post by Actionb » #101407

While explosions also lag a lot, they only do so only once. The singularity, however, is just the lag incarnate at this point and really annoys every single player.
Would it be possible to tweak the items throwing feature for the singularity only? All in all, singularity produces so much destruction and chaos, people would probably barely notice when you removed this spawn(0) thingamabob, giving up simultaneity in favor of less lag.
Bombadil
Joined: Wed Apr 23, 2014 12:23 am
Byond Username: Kromgar

Re: The THROWuglarity

Post by Bombadil » #101457

Remove Spawn(0) from singulo and keep it on explosions I found the solution everyone we can go home
Planet Station Best Station

Vote Planetstation and Kor Phaeron 2017
Incomptinence
Joined: Fri May 02, 2014 3:01 am
Byond Username: Incomptinence

Re: The THROWuglarity

Post by Incomptinence » #101470

MisterPerson none of the throwularity is essential. Even old non drift singularity was a round ender this is just icing on the restart cake and we don't really need it.
User avatar
MisterPerson
Board Moderator
Joined: Tue Apr 15, 2014 4:26 pm
Byond Username: MisterPerson

Re: The THROWuglarity

Post by MisterPerson » #101475

The throwing could, at the very least, be toned down to happen less frequently.

Once again, fastmos is a much bigger contributor. The singulo is laggy even when it's off in space not doing anything. The atmos subsystem can take 3 deciseconds to run. For reference we have 9 deciseconds total each tick to use, so the air ss alone accounts for a third of any tick it decides to run. And if it decides to run on the same tick as the lighting, garbage, obj, machine, or lighting ss, yeah that'll cause some serious overtime on ticks.
I code for the code project and moderate the code sections of the forums.

Feedback is dumb and it doesn't matter
Post Reply

Who is online

Users browsing this forum: No registered users