Lag spikes when playing
I have a good internet connection.
The problem comes when I play on Counter Strike: Global offensive. I have stable ping (5-25ms), but each 3-4 seconds i got lag spikes. It's like, I 'teleport' ingame.
I've tested it with just my macbook on my network and with just CS:GO running.
What may cause this problem?
Solution 1:
I can only generalise, as I don't know the game at all, but based on experience running helpline for another online structure...
This all assumes your Mac itself is up to the task & that you are running the most up to date OS. Game devs only concentrate on maintaining compatibility for so long, so as your machine or OS gets older, support dwindles.
If your machine only just meets 'minimum spec', then your gameplay is also going to be 'minimum spec' no matter how fast your connection is.
One thing to be very aware of is that most people think their computer is better than it is. The first thing they do is turn up the settings.
Don't do that.
Run at defaults, they're there for a purpose.
You need to find where the game's servers are & repeat that Speedtest. The Game's own support should be able to help you discover that, or you may be able to query from inside the game, Help/About... to find the IP address & track it down from there.
You can often find that even with a solid connection to local, you can see interference across much greater distances. From my own experience with the game host in Phoenix, AZ, anyone playing from Europe is likely to see ping of 150 - 250ms & easily 20-50% of their speed eaten by the distance.
You need to check what assets the game need to load from the remote servers. For some games it is little more than the positions of other players in real-time; everything else is already on your local disk. Some games download quite hefty assets, as the 'view' of your world changes each new 'view' has to be sent to you.
The larger the asset transmission, the more likely it is that this can get bound at your CPU [download/decode] which will cause the game to stutter.
Don't listen to anyone who tells you you need to clear any local asset caches to "speed it up"... it doesn't, it just means you have to re-download all those assets again, wasting time & bandwidth for you & the others sharing the same server.
Check your normal FPS. If you can get over 60 & the game has a frame limiter, cap it at 60. [this might need some testing, sometimes lower is better, 45 or even lower in extreme cases]. The less the GPU has to do, the more likely it will be able to keep up.
Don't believe the hype from people who tell you that astronomical fps figures are needed. Online gaming is far more ping-reliant than fps.
If you see screen-tearing when panning, try to find a v-sync control in the game. v-sync is usually off, enabling it will make the GPU only update between frames. [You will never see this happen whichever way it's set, as it's all done behind the scenes, but it can reduce tearing.]
One that people forget - just because you can achieve good speeds over Speedtest doesn't mean your router isn't getting 'tired'. Domestic have brains the size of peanuts & are easily confused. They leave ports open that they should have closed, so the next time one's needed it has to re-negotiate. their routing tables get full & are constantly being flushed to make room for new data...
So...reboot all your network hardware, router/modem, any WiFi & hubs/switches... then your puter. Power off everything, wait at least 2 minutes, then power up one every 2 minutes, starting from 'nearest the outside word' inwards. Puter last.
If you are on Wifi & you can wire up instead, do so.
On a Mac, at reboot, set it not to reopen everything afterwards.
Run just the game, nothing else. Browsers eat RAM & if you're in a low RAM scenario then you will start to see memory paging. This is good for the computer, but bad for your gaming experience.
[If I can think of more generalisations, I'll come back & add them. I can't do specifics as I don't know the game.]
Solution 2:
I've finally found an answer:
MacBook Pro experiencing ping spikes to local router
I've done the following:
- Enable Wi-Fi logging
- Perform ping: ping 8.8.8.8 -i 0.1
- Check for changes on wifi log after ping spike: tail -f /var/log/wifi.log
airportd[83093] Successful cache-assisted scan request for locationd
airportd[83093] Successful cache-assisted scan request for megasync
I've found two problems:
- One was
locationd
process, that was scanning for wi-fi. - Second was
Megasync
. Really weird that it checks wi-fi connections.
After killing both processes, internet worked like a charm.