I am using KiCad version 8.0.5 on Windows. Recently, I’ve noticed that KiCad (PCB editor) becomes slower over time with an existing project. When I perform an “Update from Schematic to PCB” or make a small undo action, it takes about 20 seconds every time. The CPU usage is consistently at 100% on a single core. Is there a way to make these calculations run on all cores?
First fix is always to update to current stable version (8.0.6 now) as may be the bug being source of your problem was fixed.
If this not helps the next step would be to update to current Test version (as since 8.0.6 was released some time passed and it is possible that in Test versions it is fixed).
Then if you can find the step by step way to get into trouble you should report it as developers will certainly be interested in such case.
It happened not once to me that reported by me bug was fixed in few hours, but I have never reported so serious bug as it looks you have.
If you can’t find steps generating the problems than reporting a bug is much more difficult but still is rationale.
Last would be re-run KiCad whenever it happens to you
In itself it’s normal that KiCad becomes a bit slower as you add to your project and it becomes more complex.
“BoatControl” is one of the most complicated / slowest projects I know:
You can use it as a reference. On my PC (Linux, Ryzen 5600G (6 cores 12 threads)) an Update PCB from schematic takes around 3 seconds, assuming the the PCB editor has already been opened, everything is already annotated and there are no problems so it runs to completion without further interaction.
Regenerating internal zone geometry takes about 15 seconds, and cpu usage has a peak of 18% So it does use more then one thread, but it certainly is not optimal.
I don’t know the complexity of your own project. If your PC is much slower then these numbers, you may have found a bug. Sometimes bugs cause severe slowdowns in KiCad. I once also bumped into a project that became very slow because of a single imported (and complex) graphic image imported in a copper layer.