If you have a great computer but are getting FPS Spikes - This might help you

First before anything here, try the support tips that support give. If none of them work, then maybe try this.

Wow doesnt really interract with your cpu as it says it does. While it says it uses all cores, it doesnt really. It primarily uses one, and spreads some of the load to other cores. The issue you have may not be with your hardware, it’s with the fact that your CPU is being bottlenecked and not allowed to use all of the hardware you have available. This is not a solution support can suggest as it goes directly against the game design, which is understandable.

Here’s my solution that fixed the issue for me (for now)

Allowing Wow to utilize more cores

With wow closed, Go to your wow folder > retail > WTF > right click open config.wtf with notepad > add the line SET processAffinityMask “0”

With the line above, apparently this is already written into wows code now so it’s not needed, but I saw improvement after adding it in. Placebo maybe. It doesn’t hurt though.

Reassigning tasks to other cores to allow space for wow to eat your single core.

Second, go to task manager (ctrl + alt + delete) and go to the details tab. Sort by highest resource and select the items that are super resource intensive > set affinity > uncheck core 0 (the primary core wow operates on)… this will take some load off the primary core that wow uses, and allows the other cores on your PC to look after those tasks. Don’t change any windows tasks

Pictures of the above task here https://www.windowscentral.com/assign-specific-processor-cores-apps-windows-10

Reassigning some other tasks to your onboard graphics card.

The biggest change for me was the following - to take some load off your graphics card you’ll want to follow this guide, but rather than assigning anything to your graphics card, you’ll want to do it so you can assign chrome and any other high usage to your onboard graphics unit (if you have one, if not ignore this step). As soon as I swapped chrome (let it be known that your browser is a RIDICULOUS resource hog.) out to operating off my built in GPU and not my graphics card, my fps spikes more or less stopped.

https://www.howtogeek.com/351522/how-to-choose-which-gpu-a-game-uses-on-windows-10/#:~:text=To%20assign%20an%20application%20to%20a%20GPU%2C%20head%20to%20Settings,the%20“Graphics%20Settings”%20link.&text=Select%20the%20application%20you%20want%20to%20configure.

Some things that also helped me that you might like to look into.

  • Undervolting my graphics card
  • Running Throttlestop
  • MSI Afterburner
  • Running higher fan speed (slightly more noisy but keeps my PC nice and cool)

If this does work for you, please let me know. If this specifically only helped me and doesn’t help anyone else I’ll just delete the thread so others dont waste their time, but for me, I forgot what it was like to play without lag spikes. This is wonderful.

1 Like

P.s I actually want to cry, i just did an epic bg without dropping a frame.

An easier way to do all this and have it work automatically all the time is to use Process Lasso. Install it, go to Active Processes, find WoW.exe, right click it, CPU Affinity. Set whatever Current and Always you want. This way, when WoW launches it automatically gets assigned to certain cores. By default WoW’s CPU affinity is assigned to the first 4 threads of your CPU, and only really uses 1 core heavily. No matter what you do, this isn’t really gonna change things. However, having more cores assigned to WoW will decrease the amount of random FPS spikes and stutter you get. 1 core will still be almost always maxed out, but assigning up to 8 threads has some benefits.

Great will try and report back

Doesn’t do anything.

Doesn’t do anything. See below.

Not how single core threading works. The windows scheduler can spread a single core task out on all cores, but it’s still a single core task. Putting this in Layman’s terms: Line 1 might execute on C0, line 2 on C1, line 3 on C5, line 4 on C0 etc etc, but it’s still not multithreaded because nothing is happening in parallel.

Let’s say I make a simple task that will try to use 100% of a single core and you have four possible threads on your CPU, if you check your resource monitor, you’ll see them all at 25%.

WoW, like 99.9999999% of game engines out there, is single core for it’s main game thread. It can offload other tasks to other cores, but they are usually async tasks. The main thread of the game has to complete it’s work before it can push to the GPU to be rendered. WoW also happens to be very heavy on the single thread and this is why you’ll see people with 3000USD gaming rigs barely getting 60fps on ultra. It’s not that it’s overly hard to render, it’s that the engine is CPU bound and therefore, it will hold the GPU back.

If you’re getting CPU lag spikes, disable addons, check around in Windows for bad background tasks like antivirus softwares, VPNs, firewalls, etc. Disable the live wallpaper backgrounds(very well known cpu spiker), don’t leave chrome/firefox up with 3000 tabs open(youtube is notorious for high CPU usage), check startup tasks, the list goes on and on.

Yes, but assigning more CPU threads to WOW DOES improve performance, and it is measurable. 4 vs 8 CPU threads being assigned provides consistently higher minimum FPS as well as higher peaks and average FPS.

got any links to evidence of that, that there is a benefit to manually having wow use more cores?

a quick google found a thread where someone got performance gains by restricting wow to using 1 thread per core and increasing that showed fps decrease.

My own testing, as well as the testing of a few others.

https://www.youtube.com/watch?v=2GzNZcFF35A&feature=youtu.be&t=545

https://www.reddit.com/r/wow/comments/jejbfe/bfa_shadowlands_dx11_vs_dx12_performance_analysis/

Nah, it doesn’t. I think the most the game thread of WoW will expand out to is four threads. I’d have to double check, but I’m pretty sure that’s as high as it goes. Beyond that, there’s no gain in having more cores. Regardless, the windows scheduler handles all of that anyways.

Any of these supposed snakeoil FPS gains and tweaks pretty much never produce even a single fps difference and do nothing for frame spikes. The poorly coded LUA addons you use will have a much higher impact on frame stability.

That’s not the same concept. The multi-threading they are talking about has to do with when the engine renders a frame and the low level DX12 API that allows you to break up draw calls to different cores. That’s on the Windows end of things, not the WoW end.

The game still has to tick through it’s frame of calculations for everything like setting up animations, figuring out what assets to stream in and/or streaming them in, running LUA code for addons, calculating UI elements, etc etc, before it can begin to push off to the GPU and leverage the DX12+ HT.

Moral of the story: Let the windows scheduler handle your threading, limit background applications, limit addons and keep your temps in line.