HAWKEN servers are up and our latest minor update is live!
Forgot Password_ SUPPORT REDEEM CODE

Jump to content


Client Side or Server Side Rendering_


  • Please log in to reply
39 replies to this topic

Poll: Client Side/Server Side Rendering (33 member(s) have cast votes)

Which do you prefer: {please explain your choice}

  1. Client Side Rendering (2 votes [6.06%])

    Percentage of vote: 6.06%

  2. Server Side Rendering (31 votes [93.94%])

    Percentage of vote: 93.94%

Vote Guests cannot vote

#1 Spliff_Craven

Spliff_Craven

    Advanced Member

  • Full Members
  • PipPipPip
  • 1,236 posts

Posted June 08 2014 - 09:27 PM

Which do you prefer_ Why_

I tend to lead towards server side rendering.
Trying to come across an article referring directly to the gaming aspect of this phenomenon; all I could come up with was this: http://openmymind.ne...Side-Rendering/

Quote

A single API/Endpoint

I know I said I'd only talk about performance, but one argument that often gets brought up is that by consuming JSON, the browser is just another consumer your public API. The result is a single endpoint and clean routes.

Your server-side framework should let you respond to different requests types with minimal effort. In Rails this is done via respond_to. If your framework doesn't support something similar, either build it, or change frameworks.

Conclusion

Only considering performance, should you ever use client-side rendering_ There's one obvious scenario where it makes sense: when you render based on existing data. That is, if you don't need to go to the server to render, say because you are going to display known data in a different perspective, client-side rendering makes sense.

Otherwise, client-side rendering requires a heavier initial load with a 2nd request, not being able to cache the final output and greater dependency on slower CPUs and rendering engines. Any one of those is a going to make client-side rendering slower. Combine them_ Well, Twitter's server-side rendering takes 1/5 the time as client-side rendering.

It seems to accurately reflect what happened to Hawken and why people are complaining about missed shots and rubberbanding.



As it was explained to me Server Side Rendering {SSR} can be visually laggy but provides more accurate tracking {more hits}. What happens in the game is entirely tracked by the server and we get "end results" based on information provided.

Where as Client Side Rendering {CSR} is less laggy visually but provides less accurate tracking {less hits}. What happens visually in game is behind what the server tracks as the image was rendered before the "attack" was registered by the server so you appear to hit but in actuality you miss the target because it is actually ahead of where you though it was.

Source article: https://community.pl...te-patch-notes/

Quote

◾When firing your own trace weapons, the tracer FX will play instantly on clients instead of waiting to be triggered by server.

And a supporting quote from another forum: https://community.pl...or/page__st__20

View PostKrellus, on June 05 2014 - 11:39 PM, said:

View PostFrenotx, on June 05 2014 - 02:18 PM, said:

I would guess that part of the reason was to reduce apparent lag, and make the game seem more responsive.
If this was the reason then it was a very poor decision. Obvious lag we can deal with. Hidden lag is worse, since it's still there, plus harder to compensate for. Can we please have this reverted devs_

Since Hawken went to CSR; I and many others have noticed missed shots and rubberbanding.
I'm interested to see what our gaming community has to say about this...
What are your experiences_ Would you like it to go back to SSR_

Edited by Spliff_Craven, June 08 2014 - 09:29 PM.


#2 Brycko

Brycko

    Advanced Member

  • Full Members
  • PipPipPip
  • 194 posts
  • LocationA place in physical space

Posted June 08 2014 - 10:59 PM

Completely relatable. When I played Hawken way before ascension, I was so much more accurate, and although my graphical experience was lower, the gameplay was much more solid. Because the game has taken steps to make it more graphically universal (Hud revamp in ascension) It would be awesome to see it return to a server side render.

#3 SatelliteJack

SatelliteJack

    Spaceman

  • Full Members
  • PipPipPip
  • 416 posts
  • LocationDropped on Illal

Posted June 08 2014 - 11:02 PM

SSR PLZZZZZZZZZZ

Ever since that patch, I've been rubberbanding worse then a slingshot. On the plus side, when I get into a hairy situation with another player, I can show those walls who's boss! Oh. Wait....

Yeah, no, CSR is an incredibly painful experience that I would love to live without. And that goes double for me, since I live in "All Quite on the Western Serverbase." When I play on East, it's really awful. I would rather get shot in the back and see it coming, than in the back, when I thought I was face-to-face with someone.

Posted Image



To be chill, drink warm tea. You paradoxical madman. -TwentyFirstPilot


#4 Spliff_Craven

Spliff_Craven

    Advanced Member

  • Full Members
  • PipPipPip
  • 1,236 posts

Posted June 08 2014 - 11:51 PM

General Questions to the Dev's:

Why did we move to CSR from SSR_

Is it possible to render static images like the maps to CSR while keeping the dynamic elements such as mech movement/tracing etc... to SSR_

#5 reVelske

reVelske

    Advanced Member

  • Full Members
  • PipPipPip
  • 229 posts
  • LocationJHB, SA

Posted June 09 2014 - 12:32 AM

The game is lying to me about my bullets, and I play with 200+ms thanks to region.

I don't like being lied to.

#6 EliteShooter

EliteShooter

    Mr Splash Man

  • Full Members
  • PipPipPip
  • 3,888 posts
  • LocationTunisia

Posted June 09 2014 - 02:13 AM

Yes, before; damageless shots never existed, and things were smooth as honey!!

Posted Image


#7 Ashfire908

Ashfire908

    The First Ninja

  • Full Members
  • PipPipPip
  • 1,281 posts
  • LocationChicago, IL

Posted June 09 2014 - 06:21 PM

This thread... Some of you guys really don't know how the game works do you_

The whole 'server side rendering' vs 'client side rendering' as you call it... the change you are basing your arguments around is just that the FX (the visual smoke trails specifically) for bullets, NOT the bullets themselves, was changed so it renders on the client right away, instead of waiting for the actual bullet to be sent on the server and have the server tell the client the bullet was sent (which then the client would render the bullet). The change was literally visual. It didn't change the hit registration at all, or your accuracy (not directly anyway), or anything like that. The effect just removes the perceived input lag of having to confirm the shot with the server before rendering the tracer. The other thing it does, which is why you probably think it's messing with hit reg, is not delaying the tracer till the bullet actually goes out, so if you don't compensate for lag, it might render a tracer that LOOKS like it hit, but the bullet on the server didn't.

I don't really agree with the change, I'd rather have lag than inaccurate tracers. I don't know if people were complaining of input lag or something... I'm just frustrated by people thinking the actual hit reg is off instead of the indicator of hit reg not taking lag into account anymore.

Btw the server doesn't render a damn thing. The textures aren't being streamed from the server or any actual rendering data being sent to the client. It just tells the client when server-side events happen, like a gun firing or you getting hit or a player moving or your heat going up. There's no performance hit for doing stuff either before or after the server tells the client to do it.

Edited by Ashfire908, June 09 2014 - 06:21 PM.

Developer of ScrimBot and the canceled Hawken leaderboards
Come join the Hawken IRC Channel and chat about Hawken: #hawkenscrim on irc.quakenet.net
Yes, I am a wizard - There is no cupcake conspiracy
[03:18:55 pm] <-- ^-^ (webchat@[ip removed]) has quit (Quit: Later All! Also pls ban Kindos7)

#8 Zaxik

Zaxik

    Advanced Member

  • Full Members
  • PipPipPip
  • 665 posts
  • LocationPrague, Czech republic

Posted June 09 2014 - 09:07 PM

TBH I don't really care. I noticed that even though bullets are rendered client-side, the impact is (or at least seems to be) still server-side. You can see that by shooting wall while moving your mouse - the impact effect is delayed. This way you get a pretty much good idea how much you have to lead your shots.

In actual fight I see pretty much no difference, I don't have time to watch the bullets, so I just use the hit registration as my feedback. If I don't hit, I know I have to lead abit more. it is as simple as that.

Edited by Zaxik, June 09 2014 - 09:09 PM.

Got few Hawken vids here on my YT.

#9 Spliff_Craven

Spliff_Craven

    Advanced Member

  • Full Members
  • PipPipPip
  • 1,236 posts

Posted June 09 2014 - 10:58 PM

View PostAshfire908, on June 09 2014 - 06:21 PM, said:

The whole 'server side rendering' vs 'client side rendering' as you call it... the change you are basing your arguments around is just that the FX (the visual smoke trails specifically) for bullets, NOT the bullets themselves, was changed so it renders on the client right away, instead of waiting for the actual bullet to be sent on the server and have the server tell the client the bullet was sent (which then the client would render the bullet). The change was literally visual. It didn't change the hit registration at all, or your accuracy (not directly anyway), or anything like that. The effect just removes the perceived input lag of having to confirm the shot with the server before rendering the tracer. The other thing it does, which is why you probably think it's messing with hit reg, is not delaying the tracer till the bullet actually goes out, so if you don't compensate for lag, it might render a tracer that LOOKS like it hit, but the bullet on the server didn't.

I understand and agree with you.

The problem I feel players are having is the visual elements of the game {tracers, bullets, etc} are key to accuracy. I see my bullet pass through a player and get no hit register. I have to guestimate my target. In SSR this was never an issue. A shot placed was a shot hit. There were few insta kills because you usually had reaction time. Now you have none.

Since CSR, I was in a match when a player shot at me with hellfires. I dodged right and blew up. I knew I was out of the way but he said I was going in a straight line and did not dodge.
When rendering was serverside I had no problem dodging hellfires.
I even dodged behind a rock {no I didn't get hung up on anything} being completely behind coverage and was killed by the same player with his hellfires. He said I didn't dodge.
{We were on teamspeak so we knew what was going on as it was a test between us.}

It's this "visual lag" that was introduced with the clientside rendering that is frustrating with players.
We never had this problem when it was server side; and the poll is unanimous so far.
Server side rendering needs to be reinstated.

Edited by Spliff_Craven, June 09 2014 - 10:59 PM.


#10 reVelske

reVelske

    Advanced Member

  • Full Members
  • PipPipPip
  • 229 posts
  • LocationJHB, SA

Posted June 10 2014 - 12:55 AM

View PostAshfire908, on June 09 2014 - 06:21 PM, said:

The change was literally visual.

Nobody is confused about it. It's a matter of the game providing a moderately accurate visual feedback of when and where the bullet is fired off, taking latency into consideration.

#11 shosca

shosca

    Advanced Member

  • Full Members
  • PipPipPip
  • 733 posts
  • LocationNY

Posted June 10 2014 - 06:38 AM

View PostSpliff_Craven, on June 09 2014 - 10:58 PM, said:

The problem I feel players are having is the visual elements of the game {tracers, bullets, etc} are key to accuracy.

Nope. The traces are fake and just visual effects. What matters is hitreg, which is still server side. :)

View PostSpliff_Craven, on June 09 2014 - 10:58 PM, said:

I see my bullet pass through a player and get no hit register. I have to guestimate my target. In SSR this was never an issue. A shot placed was a shot hit. There were few insta kills because you usually had reaction time. Now you have none.

No, what you see is just an effect and does not exist. You cannot see your bullet pass through a player because as far as the game is concerned that bullet doesn't exist, because it is hitscan. The traces that you see are fake, they don't exist. A shot placed is still a shot hit.

View PostreVelske, on June 10 2014 - 12:55 AM, said:

Nobody is confused about it. It's a matter of the game providing a moderately accurate visual feedback of when and where the bullet is fired off, taking latency into consideration.

It was never accurate because it doesn't exist.

Repeat with me: There is no spoon. There is no spoon. :)

Edited by shosca, June 10 2014 - 06:39 AM.


#12 reVelske

reVelske

    Advanced Member

  • Full Members
  • PipPipPip
  • 229 posts
  • LocationJHB, SA

Posted June 10 2014 - 06:48 AM

What_ The "firing" visual still exists, and if, say, I have 250ms latency, the actual bullet firing visual WILL only show up roughly 250ms after I clicked my mouse button. Again, I did say MODERATELY accurate, I have no way to prove that it syncs perfectly with the latency, but it's still a far better indication than having no delay whatsoever. Fact of the matter is, the visual effect tries its best to sync up with the server-side hit reg, It offers me, a high latency player, a moderately good idea of when the bullet was fired and where it's going to.

The only people who are confused are the two of you as far as I can tell_ We aren't talking about hitscan vs ballistics, we are simply talking about a reasonably accurate visual indication of when the shot was ACTUALLY fired and where it's ACTUALLY going to, ie. when the actual hitscan got calculated.

Edited by reVelske, June 10 2014 - 06:55 AM.


#13 shosca

shosca

    Advanced Member

  • Full Members
  • PipPipPip
  • 733 posts
  • LocationNY

Posted June 10 2014 - 07:29 AM

View PostreVelske, on June 10 2014 - 06:48 AM, said:

we are simply talking about a reasonably accurate visual indication of when the shot was ACTUALLY fired and where it's ACTUALLY going to, ie. when the actual hitscan got calculated.

The moment the server processes your mouse button event is when you actually fired the weapon and if the weapon is hitscan and if you had a target under your server side crosshair, it will register a hit. If not, the server will calculate a trajectory for your projectile and your target and determine if it is a hit or not. I believe we are in agreement with this, right_

So please tell me where exactly, when all this is going on, the animation, the traces that are rendered on your screen right after you pressed the button affect your accuracy_ As i said before, as far as the server is concerned, there is no trace. Am I wrong in this_

Edited by shosca, June 10 2014 - 07:32 AM.


#14 reVelske

reVelske

    Advanced Member

  • Full Members
  • PipPipPip
  • 229 posts
  • LocationJHB, SA

Posted June 10 2014 - 08:07 AM

Overtime, you get used to the delay between mouse click and hit register through visual cue, this isn't obvious for most players, but for someone like me who plays at 200ms+ latency to EU servers from Africa, it's extremely noticeable. The visual might not mean much to you, but to us, it provides a fair idea of the delay and aid us in compensating for it.

Actually, fuzzy bunny it, this doesn't exactly answer your question, hell, your question seems so trivial to me I don't even know how to answer it. Let's make it simple, visual helps you figure out your delay and aid you in compensating for it. When you SEE your bullets clearly missing your target by a certain distance, you are in a position to compensate that delay based on that particular distance.

Swear to god if you start that "BULLETS DONT EXIST" fuzzy bunny again I'm going flip my fuzzy bunny. Fact of the matter is that the visual is a good indication of when and where server registered your shot, unlike client-side rendering.

Did that REALLY require explanation_

Edited by reVelske, June 10 2014 - 08:15 AM.


#15 Spliff_Craven

Spliff_Craven

    Advanced Member

  • Full Members
  • PipPipPip
  • 1,236 posts

Posted June 10 2014 - 09:09 AM

View PostreVelske, on June 10 2014 - 08:07 AM, said:

Overtime, you get used to the delay between mouse click and hit register through visual cue, this isn't obvious for most players, but for someone like me who plays at 200ms+ latency to EU servers from Africa, it's extremely noticeable. The visual might not mean much to you, but to us, it provides a fair idea of the delay and aid us in compensating for it.

Actually, fuzzy bunny it, this doesn't exactly answer your question, hell, your question seems so trivial to me I don't even know how to answer it. Let's make it simple, visual helps you figure out your delay and aid you in compensating for it. When you SEE your bullets clearly missing your target by a certain distance, you are in a position to compensate that delay based on that particular distance.

Swear to god if you start that "BULLETS DONT EXIST" fuzzy bunny again I'm going flip my fuzzy bunny. Fact of the matter is that the visual is a good indication of when and where server registered your shot, unlike client-side rendering.

Did that REALLY require explanation_

So is your preference Server Side Rendering or Client Side Rendering_
Did you find the change improved your game or made it harder to play_

#16 reVelske

reVelske

    Advanced Member

  • Full Members
  • PipPipPip
  • 229 posts
  • LocationJHB, SA

Posted June 10 2014 - 09:13 AM

That's it, I give up, clearly I'm speaking some foreign language in here.

#17 Spliff_Craven

Spliff_Craven

    Advanced Member

  • Full Members
  • PipPipPip
  • 1,236 posts

Posted June 10 2014 - 08:49 PM

Seems unanimous in favor of Server Side Rendering so far.

#18 RunaPanda

RunaPanda

    Advanced Member

  • Full Members
  • PipPipPip
  • 231 posts
  • LocationTrolling you where ever you go :3

Posted June 10 2014 - 09:36 PM

The change with client side rendering is for the VISUAL aspect, as in what you see, the particle effects from tracers, smoke from charged heats, smoke trail from tows. All of that is a visual effect that can be processed FASTER on the client end then the server end, GPUs are nearly 100x faster at rendering graphical objects then CPUs. The register by the server in the game environment for the hit has NOT BEEN CHANGED, this is still 100% server sided, your fired round is invisible it's coded that way, other wise the game would begin to lag and have major performance issues bad. If you want your bullets to be rendered with your tracers, then quadruple the system requirements.

On the note of servers, your basic server often times has a monitor for status checks and other important tasks related to the system itself, nothing more nothing less. Often they use a generic onboard GPU, even more so those which are in a cloud system have no monitor at all.
All the server is doing is saying to the client, :Player A has fired such and such bullet at Player B, (calculating trajectory and physics) bullet impact for Player B is either hit or miss depending on time of fire and rate of movement of Player B". Nothing more, nothing less all the server does is tell the client who fired at who, when, how far away, what heat was generated, who lost health, and if that shot was a hit or not. To render bullets fired in real time is only feasible in a single player perspective because it would consume to much bandwidth, both from your system and from your network.

What your actually experiencing from missed shots is is Bandwidth Delay Product to clear this bit up for you, taken in excerpt from Wikipedia.
"In data communications, bandwidth-delay product refers to the product of a data link's capacity (in bits per second) and its end-to-end delay (in seconds). The result, an amount of data measured in bits (or bytes), is equivalent to the maximum amount of data on the network circuit at any given time, i.e., data that has been transmitted but not yet acknowledged. Sometimes it is calculated as the data link's capacity multiplied by its round trip time.[1]"

This is what your feeling when you miss shots, yours packets have been sent, but the network is so saturated with other stuff that your packets just haven't been acknowledged by the server yet and whats sent back to you this is known as RTT or Round Trip Time. Both BDP and RTT directly influence your latency or ping. If you have a ping of say 50ms, that means the time delay between the server acknowledging that you fired a shot and sending the calculated data back to you for rendering, will take 50ms from the time you push the button to the time it happens on screen. So even if tracers were put back to client side rendering, there will and always will be a delay between the time you push your LMB and the time it actually happens. The only time you will ever see a near instantaneous response is on a very high speed LAN, where the latency between computers is registered in microseconds.
Intel i7 5960X @ 4.7Ghz| DDR4  3200 @ CAS 14|SLIed Quad GTX 980|Kingspec 1TB PCIe SSD/ 4x 3TB HDDs|Logitech G502 Proteus Core|Razer DeathStalker Ultimate|Occulus Rift|3xAsus ROG Swift PG278Q|Asus ROG Xonar Phoebus|Wrapped up in a sexy Corsair Obsidian 900D w/ Custom Laser etching

#19 coldform

coldform

    Advanced Member

  • Full Members
  • PipPipPip
  • 140 posts
  • LocationArizona

Posted June 10 2014 - 09:57 PM

I feel like I am the one that brought this problem to light.  I don't think everybody is understanding what exactly is going on here, and there seems to be some LostInTranslation going on.

the visual effects of firing were rendered by the client, but triggered by the server - the visual effects for a shot fired would be aligned with the data it represented.

remember 1) shots fired visuals and 2)shots fired data appeared to the client in sync.  yes, there was lag, but the lag affected both.

client side render triggering removed the lag from the visual, which became misaligned with the data. (lag is lag is lag....)

there is still the "hit" X, but to me, spotting my tracers to a target and dealing no damage is worse than no tracers and no damage.

apologies to anyone who feels as though their intelligence has been insulted, or thinks that others seem to misunderstand them without cause. also, please correct me if I am wrong.

Posted Image

"Sometimes, You just gotta die... just to get your items back." - Mogote


#20 reVelske

reVelske

    Advanced Member

  • Full Members
  • PipPipPip
  • 229 posts
  • LocationJHB, SA

Posted June 10 2014 - 10:20 PM

Next up, someone comes in and start explaining how the internet and undersea cables work, because we are clearly throwing a shitfit over dolphins sabotaging our communication infrastructures therefore causing us to miss in Hawken.

JokeSeriousness aside, coldform covered it perfectly, we prefer for the visual to match up with the server-side data.

Edited by reVelske, June 10 2014 - 10:22 PM.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users