After years of dealing with this issue, I've finally stumbled upon a fix for those who are dealing with the client freezing issue.
What is this issue, and what's causing it?
Freezing is when the client stops responding. For me this can happen several times during a dungeon run or shadow mission, and typically lasts for 2-10 seconds. On some bad days, they can last upwards of 20 seconds, and happens once every other minute.
If you have this issue too, it is likely you are currently running a modern Intel CPU, at least 12th gen or newer. Those CPUs are made up of P-cores and E-cores.
P-cores, aka Performance cores are the main cores of the CPU, made to handle the big tasks like gaming, rendering and etc., while E-cores are Efficiency cores, made to handle background tasks and lighter loads so the P-cores are left to only focus on greater tasks.
So what exactly is causing it? I'm not 100% sure, but the P-cores in those Intel processors seem to struggle when shifting load between threads. When one thread is ready to receive the next task, it is stuck waiting for a non-responding thread, creating this hitching effect. This may be because of a poor memory controller in the CPU itself, or it may just be that the loads that needs to be processed quickly are so light that the P-cores just struggle to function properly.
The fix
Because the client is so old, it is also very light to run. Disabling the P-cores and letting the E-cores run the client seems to remove this freezing entirely.
Fortunately, It's not a difficult task to change this, but unfortunately, you will have to do this every time you open the client.
- Step 1. While your Client.exe is running, head over to your task manager and right-click the client.
- Step 2. Click "Go to details" and right-click the client again.
- Step 3. Click "Set affinity" and untick all the cores except the last two cores.
Depending on which CPU model you have, you may only have a few E-cores (or none at all), but the bottom CPU cores on your list is likely to be E-cores.
The P-cores have two threads on each core, so that's why you might see a lot of CPU numbers on your list, but the E-cores only have single threads, so those are numbered correctly according to the CPU count.

I run a 13700k on my machine, so on my list I have CPUs listed all the way from 0 up to 23, a total of 24 threads. The first 16 listed threads are my P-cores (two threads per P-core), and the last 8 are my E-cores. I therefore make sure to only have some of those last 8 threads ticked on this list. For me it's enough to only have two E-cores ticked.
Hopefully this can be of huge help to anyone else who has been struggling with this issue.