Hi
We all know that the Zonefill code is not performance optimized together with teardrops. This is in my view not a critical issue however a bit annoying since Zonefilling takes hours for my design.
However what is strange:
When I Zonefill, my CPU (AMD 5950X) gets 22% utilization and is stuck at 0.75GHz (!) instead of around 4-5GHz. Making the whole machine practically unusable. (Maybe this is also a reason why it takes for me soooo long to fill). Is there something in the code holding the CPU frequency back?
Without teardrops, a zone refill takes around 4s, and with teardrops it takes around 16s on my Ryzen 5600G (Short peak >80% CPU usage, and for the rest <12%).
Does it really take over an hour, or was that meant figuratively? I’ve been on this forum for quite a long time now, and occasionally someone mentions that KiCad is very slow. Most often this is some sort of bug that is related to the graphics driver, or incompatible (old?) hardware.
Hmm strange this design with my setup (took Rev G) works fast (12-13 sec with teardrops). Both with and without teardrops. Also CPU was correctly (4-5GHz) used and this 0.75GHz limitation was not observable. So I was able to reproduce your high performance with my rig.
Unfortunately I’m not allowed to share the Design with the observable issue. However the design is also basically finished now so this is not a critical issue at all. The complexity of my design is comparable, its 8L and a bigger BGA, more fills etc. but basically should still be in the seconds range or so.
So even when you consider a 6x slower CPU speed (whatever strange reason), the difference is not explainable.
KiCad Chokes a bit on the drawing on the silkscreen (with a lot of small vectors) and this causes a quite extreme slowdown of KiCad. But I don’t remember exactly in what part or when in KiCad. It was one or two years ago that I worked on that project.
If there is such a bottleneck in your project, you can find it by making a copy of your project, then deleting some likely candidates and test performance. If there is no obvious bottleneck, then delete roughly half of the PCB in each iteration.
It is also possible to make a bug report on gitlab confidential. Once an issue becomes confidential, then very few people can see it. This is not only about your project, by making a bug report, you can help with tracking down bugs and improve KiCad. But it’s also understandable you don’t want to risk this with a confidential design. But it’s quite clear this is some sort of bug behavior, and not normal for KiCad to take >30 minute to re-calculate zone geometry.