Kicad very laggy with large 160x160 6-layer board

Hey all,

i’m using kicad 8.0.4 to design a large (160mm x 160mm) 6-layer board with several bgas and a DDR2 ram. It has a total of 1747 components spread out over the whole area.
Now panning around works without lag, up until a certain lower zoom level. Also when routing traces everything is rather sluggish and the trace takes some time to follow my cursor. Pouring the ground planes also takes a long time and saving the file with the planes poured results in about 21 MBytes of filesize.
Further there seems to be a slow but steady memory leak, that i haven’t been able to reproduce.
Trying the performance on the A64-OliniXino board everything is fast and snappy.

Unfortunately i cannot attach the board file, because of IP trouble.

Still, any suggestions?

2 Likes

First a bit of non-gay image for using the Olinuxino as a benchmark.

PCB size does influence performance, but I have also noticed that sometimes a single item can severely hamper KiCad’s performance. It is quite easy to check for this. Just make a copy of your project, and then delete some significant portion of the project, and observe the influence it has on the performance, and repeat this a few times. Once (or if) you see a significant jump in performance, the trouble was caused by whatever was in the last deletion. In this regard, imported images are very suspicious.

Did you use one of those plugins that offers to make curved tracks or similar? They can create a ridiculous number of track segments.

KiCad files are all plane text and can be opened with a decent text editor eg Notepad++
How many lines in the pcb file?
What is your OS?

If there are a lot of rounded things, then maybe it helps a little bit if you set: PCB Editor / Flile / Board Setup / Design Rules / Constraints / Arc/cirle approximated by segments: Maximum allowed deviation to a bigger value.

Best is to report this issue as confidential on GitLab with the project attached.

Note that there were some significant performance optimizations done in the nightly version, so you may try it on a copy of your project.

Enable “Show tracks in outline mode” to verify that there’s no abnormal amounts of track segments caused by plugins.

Thank you all for your suggestions! I’ve tried some of them and have an UPDATE:

When i set the graphics mode to “slow graphics” there is no lag and no sluggishness whatsoever when zoomed in. all actions are zippy as they should be. When i zoom out it starts to lag of course.
My graphics card is an AMD R9 270X and when checking with radeontop i noticed it wasn’t clocking up, changing the driver to “radeon” from “amdgpu” made that go away and step up things very slightly. Still the “slow graphics” mode is much quicker when zoomed in than “fast graphics”. As for your suggestions:

Try with nightly - same behaviour

Check for excess segments - did so, nothing out of the ordinary

Rounded tracks - have a good amount of them, but they were drawn without plugins and show no excess segments

arc/circle approximation: changed to 0.01, no difference will try a lower value

I will try sequentially deleting things next, but the graphics thing seems like the main issue.

Thank you again!

I am wondering what a 21 MB pcb file contains. This file does not contain the bloated 3D models

A64-OlinuXino_Rev_C is a PCB use for “benchmarking” and it’s only 1.1MiB.
“Boatcontrol” is a much bigger PCB (535*305mm 4 layers) and it is 8.7MiB. It is also on the made-with-kicad list.

I did some short tests with boatcontrol. The initial load of the PCB takes about 5s, and after that it’s just like any other project. Not laggy at all. My PC has an AMD 5600G with a Passmark rating of around 20000. It’s not a slouch, but not particularly fast either.

What does this mean:

Is that the same as “Fallback graphics” (and “Accelerated graphics”)?

If Fallback graphics is quicker then Accelerated graphics then you do have a video driver problem.

1 Like

CIAA-ACC (HPC) (Also on Made with kicad | KiCad EDA) It’s 93*90mm PCB, but 12 layers and quite “full” File size of the PCB is 15.3MiB

Direct link:

It’s a quite complex project, the PCB itself is in: Hardware/PCB/ACC/CIAA_ACC/ciaa_acc.kicad_pro

It seems to respond even a bit quicker then boatcontrol. No performance issues at all. A PCB like this is also already far more complex then I would ever dream to make myself.

It’s just that large if all the planes are poured. I assume it’s because i have alot of via stitching complicating the geometry

Yes Fallback graphics performs much better. Tried the project with accelerated graphcs on my slightly crusty laptop with integrated graphics and it runs far better than on my main machine with accelerated graphics.

Allright it seems to be a graphics driver issue.
I remember having problems before and switching from radeon to amdgpu.
My R9 270X is a 11 Year old card with only “experimental support” in amdgpu. The older
radeon driver brings no improvement and i vaguely remember switching to amdgpu because
of some kicad issue.
I will just buy a new card. Thank you all, i will report if it fixes the issue!

1 Like

Is the rest of your PC from that same era?
Maybe it’s time to look a bit closer at the whole thing.

I bought a new PC just after the biggest peak of the virus craze when PC hardware prices were just starting to get lower again, but video cards were still 3x market price if you could buy any at all.

Back then I bought my Ryzen 5600G for EUR240, and now it’s just EUR140, and that is with built in Graphics. You can get a decent MoBo for EUR100 and add some memory, storage and a fresh power supply (reuse the case if it’s standard) and you can have the parts for a new PC for less then EUR400.

5600G is not the fastest processor, but it does have about the best price to performance ratio you can get, and with the integrated graphics it’s even more attractive.
Best source I could find for selecting a new CPU is the XY scatter graph from:

Another option is to buy second hand. Here in the Netherlands there are plenty of companies who sell ex-office equipment. Those are generally well treated, just a few years old and have an abundance of life left in them.

1 Like

KiCad can make the OpenGL driver work very hard and expose buggy cards.

The rest is up to date, infact i’m running almost the same cpu as you, the ryzen 5 5600 (without integrated graphics).
The card ive bought now is a 5500 XT used for 60€

1 Like

Is this one (30 MB) laggy too? qa/data/pcbnew/vme-wren.kicad_pcb · master · KiCad / KiCad Source Code / kicad · GitLab

If so, I’m afraid you need to upgrade your GPU. Or try another OS.

Tom

Waauw, that one is bigger then mine. :slight_smile:

But I can’t open it. It needs a recent nightly, and Linux mint stopped updating the nightly some months ago (probably a dependency issue)

But it does not really matter, I’m quite sure OP’s problem is caused by a shoddy graphics card or driver.

Cant open the file with Version: 8.99.0-unknown-062db51f24~178~ubuntu24.04.1, release build
i get the error:
Error loading the PCB "vme-wren.kicad_pcb”. Expect ‘net, layer/layers, tstamp, hatch, priority, connect_pads, min_thickness, fill, polygon, filled_polygon, fill_segments, attr, locked, uuid, or name’ in “vme-wren.kicad_pcb”, line 1502883, column 4.

Is that a recent nightly build?