Slow performance with layout on Win 11

The Laptop is a Core i7 1355U.

I can add a screenshot of the top layer:

I removed all layer except the following:

image

The time for enabling / disabling layers has not changed.

In preferences → display options switch rendering to Fallback graphics. Does that speed up layer switching? If it does then there is an issue with your graphics drivers, if they are up to date then you can report this on kicad. Your cpu is fairly recent but intel is infamous for shitty drivers.

Also if your laptop has a dedicated graphics card try switching kicad to use that (how to do it depends on manufacturer and software).

Core i7-1355u has a passmark rating of 15348 and is indeed a fairly decent processor. PassMark Intel vs AMD CPU Benchmarks - High End

Your PCB is quite big, but it does not appear to be very dense and some problem with a graphics driver (or other hardware / software / malware?) could be the problem.

This “boatcontrol” is the largest PCB I know of in KiCad. (It’s bigger then yours, but only has 4 copper layers)

You can use it for performance comparison. Initial loading of the PCB takes around 10 seconds. Panning and zooming is “instant” on my Ryzen 5600G. Enabling or disabling a layer does have a noticeable lag, but it is quite short, I guess around 1s. The slowest operation in KiCad is regenerating the internal zone geometry by depressing the b shortcut key, and this takes 11seconds for this PCB. CPU load does not go above 18% during this time. There seems to be room for improvement, but at least it uses more then one thread. (Ryzen 5600G is 6-core 12 Threads and a single thread tops out at 8% CPU load.) I guess that generating zone geometry is also independent of graphics performance / drivers, but these modern computers are too close to magic for mere mortals to fully understand such things.

Multi threaded applications are difficult to develop, but Single core performance has only seen very moderate increments in the last 15 years, and multi threaded applications are the only way to get a real performance boost. I am guessing that KiCad uses a separate thread for each layer (that is the simplest to program) If that is true, you should see a better performance on your 14-layer PCB.

Confirm. Very slow. KiCad version 7.x.

I changed it to no aliasing, but the calculation time is the same.

Again: Try the boatcontrol project. If your performance is similar to what I have, then your issue is probably related to your big 14 layer PCB. If boatcontrol is also slow on your PC, then it’s not related to your project.

If the slowness problems is mainly with enabling/disabling (showing/hiding) layers, the problem is the bug #15098 – unfortunately this may be tricky to solve, as the slowness was caused by fixing another problem (items not correctly updating when showing/hiding the layers)

If the slowness appears in other operations, it could be a different problem.

I tried the boatcontrol project and couldn’t find any problems.

1 Like

A Last August I was looking at:

and performance was truly abysmal. Reading that thread, it took two minutes to fill zones. After some detective work I found:

Examining the F.Cu shows “Kevin Santo Cappuccio”. If that object is removed, zone filling on the freshly loaded Rev. 3 board is back to 5 seconds.

Back then I was thinking about creating a bug report for this, but it got buried under all the noise in my head.

The text string that caused the problem was a high vector count polygon. It is quite possible that the eagle to KiCad conversion generates similar things.

Can you tell us the number of lines in the the pcb file or at least the file size. This can give us clues to possible issues like excessive segments in a graphics outline

For comparison, the boatcontrol pcb file is 8.7 MB and 91535 lines

The file size of the layout is 122,65MByte and 3.334.108 lines and 2553 signal nets.

image

That’s 1300 lines per net, which is ridiculously high. Maybe curved tracks broken up into tiny segments or rounded pads treated as polygons?

Sorry, which lines do you mean? 3334108 code lines of the kicad pcb file.
How can I determine the correct number?

A more common reason is “pad and zone painting”, in which pads and zones are made from a hole lot of horizontal or vertical lines. I do not know whether eagle did that though. And without access to the PCB project itself, diagnosis is cumbersome though a medium such as this forum.

3334108 / 2553 = 1305.95

What you could do is make a copy and crop out a 25x25mm sample from somewhere with zones etc and delete everything else. This small sample isn’t going to leak your secrets, so you could post it and should reveal what has happened

If you are able to share this board with the development team via a confidential issue on GitLab, we can look and see more details of what is causing the slowdown.

1 Like

3 posts were split to a new topic: Slow performance with eeschema

Sorry our board is under NDA

Various companies have gotten approval to share confidential (NDA) designs with members of the development team before, so it is perhaps worth checking. You can also get paid support from KiCad Services Corporation which is able to fill out NDAs.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.