Original Post — Direct link

[removed]

External link →
about 6 years ago - /u/RiotTony - Direct link

Originally posted by TopTierTopLane

Thanks for the response! It really means a lot to see this acknowledged.

I believe consistent is more important than high, sure. However, if it bounces between 150 and 10,000 I don't care- if it's above my monitor refresh rate all is well. It bounces between 70-150 for me, with some dips below but not many. This is noticeable.

Do you have any clue what's causing the problems? Is it CPU optimization as I expected, or something else? The more details the better, for my own curiosity. Any idea why some people are reporting 500fps on a 7700k/1080 while others may get ~150 on a similarly specced CPU/GPU?

If you are bouncing between 70fps and 150fps, do you have "Wait For Vertical Sync" on? That can cause the game to drop from the monitor's frame rate to half that whenever the CPU dips even slightly below the monitors frame rate.

about 6 years ago - /u/RiotTony - Direct link

Originally posted by TopTierTopLane

Okay, but none of the individual cores are reaching 100%. Ergo, no CPU throttling. I specifically said core in my original post. Am I still missing something?

He's right. That's not the way that Multi core CPUs work. A single thread will not run on just one core - it will jump across different cores, one at a time. On an 8 core system, one thread running at 100% can and probably will) look like 12.5% of your entire system. One individual core will not run flat out while the others are idling.

about 6 years ago - /u/RiotTony - Direct link

Originally posted by _AN0N_

Yea, my fps has been declining with almost every patch since january. After 20 mins in a game my FPS is dropping to around 100-110 which feels awful on a 144hz monitor.

I thought it was something wrong with my computer but I play fortnite on 144fps (capped), Overwatch on 200+ fps and R6S on 144fps (capped). League shouldn't be more demanding than these games right?

I contacted the support asking about this and they just told me to install League on my C: drive.. it didn't change anything.

Hi, I'm Tony and I'm a Rioter and I care about your FPS.

This is something we are working on and will continue to. We are constantly improving and updating League and a side effect of that is that things slow down as more things get added to the game. As we detect these slowdowns (ideally we catch these problems before they go live), we fix them, but sometimes the changes are so small, no one notices them. And when we have 100s of changes going in and some of them are imperceptibly slower, we can end up with a noticeable slow down with no obvious cause. It's death by a thousand paper cuts. These are hard to fix. All we can do is look at the performance of the game and look at the slowest parts, then try and optimise them. And we've already fixed all the low hanging fruit.

To optimise something, we first need to measure it. We've been sneakily adding in a lot of new performance measuring capabilities into the LIVE game so that we can accurately measure the performance players have in game, so we can fix those problems.

For example, if you looking in your "Logs/Performance Logs" directory in your League install directory, you'll see a file ending in ".rpd". This is a Riot Performance Dump. It contains detailed information on the performance of your most recent game. If you have a game which has subpar performance, you can should be able to send that file to Player Support. Then someone like me can look at it, see if there is something particularly odd going on with your machine (which sometimes happens) or whether it is part of the endemic performance issues we're monitoring and addressing.

We're also collating a lot more information from every game played so that we can see how the game performance trends globally - what we collected before was better than nothing, but as of the next patch we'll have a whole lot more.

We know that performance has been degrading with recent patches. We're not ignoring that - we're trying to figure out why so that we can fix it. The first part is measurement. The second part is addressing the parts which are slow - optimisation.

Your patience and support is appreciated - threads like this can help us highlight some issues that we can't reproduce ourselves, so don't stop talking about this. Tell us when things get better and when they get slower.

about 6 years ago - /u/RiotTony - Direct link

Originally posted by TopTierTopLane

You're correct, it's probably not on your end. Try installing MSI afterburner and toggle the on screen display to show GPU and CPU usage (make sure to show CPU usage on a core-by-core basis). You'll probably notice that nothing is at 100%, yet you're not able to hit an fps cap. That isn't supposed to happen.

Support is another big issue, I changed my CPU because they told me they had issues with my old CPU and didn't know when they fixed it- I waited over a year and they never did, so I figured they never would. Spent $300 upgrading my CPU, mobo, and RAM to find that there's a new issue and it plagues everyone. Figured since it effected more people they'd actually fix it, and well, you see what's going on. I submitted a ticket asking specifically if League had an issue with it, but it took almost a week of submitting logs etc before they'd just tell me that there was an issue on their end.

You'll probably notice that nothing is at 100%, yet you're not able to hit an fps cap. That isn't supposed to happen.

Yeah, it is. A single thread doesn't lock to a single core - it will run on whatever core the system deems appropriate. If you run a single thread flat out, constantly, it will not use up one Core 100%, it will spread across all the available cores. If you have 8 cores, you'll see 12.5% utilisation.

I think the underlying concern here is that League isn't "Multi-threaded" enough. That we should be able to use 100% of all the available cores to maintain 144fps. And that is a fair concern - League does run on multiple threads and also uses multiple threads indirectly, but the core gameplay is mainly run on a single thread.

Now, one of the issues with multi threading is that it can increase latency - we're doing more at once, but all those things that are happening at once cannot be dependent on each other. We can't render something while we're updating its location, and we can't update its location while we're doing its AI, and we can't do its AI until we have an update from the server as to what the world looks like. The common solution in these cases is to defer the processing so that while we're doing the server update for frame N, we're doing the AI for frame N-1, and the location update from frame N-2 and the rendering from frame N-3. In this way, at the cost of more memory and more CPU usage, we can do things quicker, but later. We've increased the latency - it will take more frames for your input to take effect.

That's not to say that multi-threading shouldn't happen (or be better utilised). It just needs to be carefully considered. Only those things which have no dependencies on each other can run in parallel.

Another issue is that we also need to support low spec machines - we can't utilise 8 cores on a 2 core machine. So this all needs to scale as well.

about 6 years ago - /u/RiotTony - Direct link

Originally posted by TopTierTopLane

These all sound like legitimate barriers, but why did league previously hit high framerates on systems far weaker than the ones struggling to push 144 capped now? If it's graphical, I think I speak for a lot of the community when I say not worth. I suspect it's more complex though?

There is a lot more stuff in League now - not just graphical. We're dealing with entirely new systems - new abilities require new code and data. If you could run an old version of League you'd see the difference. It's come a long way.

about 6 years ago - /u/RiotTony - Direct link

Originally posted by TopTierTopLane

Okay, good info. So if I'm running a Ryzen 3 1200, it'd be normal to see all my cores around 50%? And if I went to say, an R5 1600, it'd look something like 33% on all cores, disregarding the slightly faster speed?

Regardless, it sounds like faster cores are determinant of FPS currently, regardless of how few cores there are. Is that correct?

Yup. That's pretty much it. As long as you have at least 2 cores, running 4 hyperthreads, CPU speed is the determinant factor. At the moment.