18 ms·
LatencyFleX: A new approach to game latency reduction
- willis936 5y agoImpressive stuff. Especially cool to see it licensed with Apache. I hope Godot integrates it.
- moffkalast 5y agoI'm sure Godot will integrate it in version 4.1... when it comes out in 10 years.
- zamadatix 5y agoI'm all for poking fun but this just seems excessive as Godot isn't even 10 years old.
- PudgePacket 5y agohttps://godotengine.org/article/godot-history-images https://godotengine.org/article/godot-history-images :)
- hffftz 5y agoI usually get 10ms ping on CSGO.... they must have something better? (I have 5ms right now with a Comcast cable link)... as much as I hate having to call Comcast for any issues, when it works, it is pretty good.)
- ishitatsuyuki 5y agoInput lag has nothing to do with network ping. Input lag is the time between you perform the action and the computer shows that on screen. It depends on your frame rate, refresh rate, and peripheral polling rate, as well as how good the game schedules things (which is what LatencyFleX tries to optimize). Network ping on the other hand is often hidden away. Whether you are on 2ms ping or 100ms ping, the bullet always goes where you aim at: this is done through rollback netcode [1], which rewinds the server state to the time the action has been performed. I'm not saying that having low ping is pointless, it has an effect on things like peeker's advantage, but the effect of network ping is drastically different from the effect of input lag. [1]: https://ki.infil.net/w02-netcode.html https://ki.infil.net/w02-netcode.html
- hffftz 5y agoHow can you get input lag of 20ms? do you have to slow down your code? I only implied it was network lag because it was so high.
- formerly_proven 5y agoEvery subsystem goes "ah buffering for a few ms or a frame doesn't hurt anybody" and in the end you have click-to-photon latencies of 150+ ms. This starts with incorrect debouncing in input devices (which can cause 10+ ms delay on its own even in dedicated "gaming" hardware!), slow/inefficent poll rates, wrong input handling in games (many still seem to receive input on the "main" thread ticking along at the frame rate, which causes huge amounts of input lag at lower framerates and also clamps inputs to frametimes, which causes significant position errors), incorrect V-Sync implementation (like the broken "triple buffering" in D3D9-11 games, this should be a thing of the past nowadays), graphics drivers favoring throughput over latency as they are almost exclusively benchmarked on average fps (used to be that they could buffer up to 9 frames, or ~150 ms) etc.
- snarfy 5y agoThere are a variety of factors that add up to many ms of lag. USB and HDMI are a few that come to mind. USB is incredibly complex when compared to e.g. ps/2. If you are building an embedded board like rasberry pi and you want to add ps/2, you just add a couple pins. If you want to add usb, you buy an extra chip.
- hffftz 5y ago> If you want to add usb, you buy an extra chip. Do you know how many chips are in a cable modem/router combo?
- formerly_proven 5y ago1 or 2, depends on the kind of modem. VDSL2+ modems might have three, though one of those is the line driver which is zero-delay for the purposes of a computer.
- HelloNurse 5y agoThis is about adapting algorithms that deal with congestion of network packets to reduce congestion of a game loop (refreshing as fast as possible, but no faster).
- bullen 5y agoThe elephant in the room here is that you can pay to win in any game by buying a monitor with higher reftesh rate and use a larger GPU that uses more electricity to have 2x more time to react. Fortunately for us humans that seems to stop at 120Hz because most games can't even hold that at a steady rate with a 3090. Now whether a 300+W gaming device is interesting in the long run will be answered this year by your electricity bill!
- lbotos 5y agolol -- Most CS:GO top level players are playing on 240hz, and getting close to 500+ fps. Also, higher refresh will give skilled players an advantage, but it's def not pay to win.
- bullen 5y agoCS:GO is a game with a tiny map just like Valorant.
- formerly_proven 5y agoLots of multiplayer games intentionally implement low-vis, low-contrast environments (mud-colored players in mud-colored environments) which is why things like Digital Vibrance and "Black Enhancers" are so popular. Arguably the competitive advantage of those, tuned to the game [1], exceeds everything else once you've done the basics (120+ Hz, normal-acting hardware). [1] In a particular game I discovered that abusing the R/G/B controls into giving you something that looks almost like one of those colorblind simulations in normal conditions would give you a massive advantage to the point of most players calling hacks.
- mat0 5y agoBy that logic, every sports player that uses high quality gear is "paying to win". Is Nadal winning solely based on the quality of his racquet? Of course not. Would he play with a basic or low quality one? Absolutely not. What's wrong using the best gear possible? I don't know where'd you get this notion that it stops at 120hz. It's been proven again and again that even with monitors with low refresh rate you still get a better experience by having more fps available. Better so when you have both the frames and the refresh rate in your monitor.
- billconan 5y ago> The cause of Bufferbloat was that previously, congestion control relied on packet loss, which was a signal that the buffer is full. I couldn't understand "congestion control relied on packet loss"? could somebody explain? Thanks! does it mean "congestion control is triggered by the packet loss event, which is a signal for buffer being full"?
- ishitatsuyuki 5y agoAuthor here. Your understanding is right, and I meant that old congestion control algorithms was only using the information of packet losses.
- billconan 5y agoThank you very much! great work!
- netcode_fan 5y agoGreat read. I have one nit-pick recommendation for clarity: the article makes no mention of "input latency" anywhere. Saying just "latency" is very confusing since the term applies to many areas of a game, and in most cases will typically be attributed to network latency in multiplayer games.
- deleted 5y ago[deleted]
- kupopuffs 5y agousername checks out. tell me, are you a fan of Rollback Netcode(tm)?
- beebeepka 5y agoI just want to say I am glad pro gaming took over. Back in the day it was only Quake players advocating for 120 FPS (for various reasons, including Q3 physics being somewhat broken), 125hz mice and stuff like that. I am talking 20 years ago. The number of lost souls parroting the old "human eye can only see 30 fps" has gone down considerably over the years. The last 10 years were fantastic in that regard, despite the whole RGB craze. Even CS servers have 100 Hz heartbeat these days. Of course, by the time we get 1khz displays I'll be too old to enjoy it myself but still likely to put a bittersweet smile on my face.
- eertami 5y agoThere's definitely diminishing returns the higher we go with refresh rates. 60hz to 240hz for example is like playing a completely different game. But going from 240hz to 360hz, even in CSGO it's a lot harder to notice a difference. Personally I believe the newly announced 300hz 27" 1440p monitors[0] are going to be the perfect sweet spot for the foreseeable future. I imagine it will be a long time before technology emerges that is a noticeable improvement to this. [0]: https://www.nvidia.com/en-us/geforce/news/new-g-sync-monitors-announced-2022/ https://www.nvidia.com/en-us/geforce/news/new-g-sync-monitor...
- terafo 5y agoThere are definitely diminishing returns with increase of refresh rates. But nonetheless your comparison is unfair, since you are comparing quadrupling of refresh rate with a mere 50% increase, which is similar to comparing 60 to 90, not 60 to 240. And with advent of VR demand for refresh rate increase of display panels will only grow, since it's much more noticeable while using headset.
- VRay 5y agoIt doesn't make any sense to invest much in displays over ~90hz vs just working on adaptive refresh rates Your eyes really do work at a pretty low speed. At some point it makes more sense to just track the eyeballs and put updated scenery in front of them at the exact instant the game engine produces it, rather than try to run at some insanely high speed generating frames that aren't actually having any effect on the player's brain 90, 144, 240hz, etc all look better than 60hz because there's less random lag between when the game generates a frame and when it appears on the screen. You can't see an 8ms delay, but you CAN see a variable 0-10ms delay that's happening as the game engine and computer monitor drift in and out of sync again and again.
- MaxikCZ 5y ago