Setting a non-connected flag is awfully slow


I’m still in my first schematic. I am using a STM32F769, QFP version (208 pins).
What I would like to do right now is to check how it goes on the PCB. I have basically
the chip and the power capacitors, and also a few settings (e.g. the Boot0 pin).
In order to check the ERC, I’m trying to set all the other pins to non connected.
But: setting one single pin to non connected takes about 1 minute until the blue cross
is drawn (with the mac’s spinning beach ball). Is this normal?
Just for info: my schematic is hierarchical. I have started drawing the blocks, there will be
15 blocks, and right now only one block has a real schematic, the CPU block.
Just in case, I have shutdown everything, restarted, and now I’m using only Kicad and mail.
There shouldn’t be memory issues. It’s still the same. With this pace, it will take half a day
to set no connect flags. Am I missing something?

As for the environment: MacOS, the latest version. Kicad 4.0.7. Memory 8GB. Absolutely
no CPU power issues when running some similar software like Eagle.



No, definitely not normal. I use KiCad on Mac OS X, and it’s always very responsive.

However, it does seem like a few other people have had similar issues with lag on the Mac. It seems like one thing they had in common was 5K displays. Unfortunately, that thread doesn’t seem to have found a fix for the problem.



Thanks for your reply. I don’t jave a 5K display, I just have 2 displays (2048 x 1152 each).
But indeed, that’s still a large display configuration.
I just read some hints about lowering the resolution. But lowering the resolution when
you have a 208 pin device on the screen is not a good idea either.




Update: I have installed Kicad on a PC. There is some improvement, but it’s still quite slow.
Just for info: as said previously, I’m trying to set nc marks on the unused pins, and the chip
is a large one, 208 pins. I have to set the page size to A2 so that it fits in one page.
Now apparently, when I set a nc mark, there is a complete refresh of all the strings
(pin names) inside of the CPU frame box. It looks like all the strings are redrawn, and I guess
there is no reason to do a whole redraw for a small mark.
Just in case somebody has the same problem: I noticed that by zooming, there are less strings
to be redrawn, and it’s faster. The larger the zoom, the faster it gets.



@roboya - How much else on your schematic page? Do you see the same slowness when you only have the 208-pin component and are setting NCs?


Hello Seth!
Sorry for the delay, I had to travel for work…
To summarize:
The slow update happens also on PC. Not as bad as on my Mac (which can take up to 1 minute to finally draw the non connected cross), but anyway it happens.
As I’m a beginner with Kicad, and as I have just begun this new design, I have only a 208 pin chip, and I have wired the power supplies only with the capacitors. So there are around 20 capacitors, a few sholder jumpers, and that’s it. The funny thing is that adding one NC flag causes the whole display to be updated, and I can see clearly on the PC screen that all the strings inside the CPU enclosure rectangle get redrawn. That’s either a bug or an on-purpose debug mode setting that has been left in the software. It gets redrawn within about 1 second, which leaves enough time to see the sequential redraw of all the strings. By the way, I suppose there is a method to record it as a kind of video, and it would be better than a long explanation. The tutorials that are available on the net use a capture tool to store as a video all the mouse moves. Can anybody tell me what I should use to record that? As it would be a few seconds of video, it should be extremely small.





Thanks for the information. I just installed 4.0.7 on my Macbook retina and I see the same slow behavior when setting a no-connect flag on a 208-pin xilinx chip.

However, I don’t observe it in the nightlies, so whatever bug it is, it has been fixed for 5.0.

You can install the nightlies with homebrew (brew cask install kicad-nightly) or, if you can hold tight until 5.0 is released. The devs are hoping to get it out before FOSDEM18 in February.


Obligatory nightly warning:
Nightly builds are in no way considered stable.
Sometimes a change is made that will make it impossible for any other nightly version to correctly open the project. (Yes sometime even newer versions will have trouble. This happens when something is reverted because it has been a bad idea.)


Hello everybody!
Sorry for the delay. Well, I will keep 4.0.7 for the time being. On a PC, it’s still slow, but
as I’m a beginner, I think it’s better to stick to a supported (or at least stable) version.
Just for info, here is how the chip looks like. Every possible config of any pin is written, which
makes the chip symbol huge. But anyway that’s not a reason to redraw all the strings when adding
only a single not connected symbol.


I’ve noticed adding NC flag is slow in 4.0.x, for the reason you mention which is that the symbol gets redrawn (slowly).

Personally, I would split very large symbols like yours into smaller units, which is more manageable anyway, but also helps with screen drawing.


I would convert this symbol into a multi unit symbol (as @bobc already suggested)
In addition, remove the alternative function from the pin names. This should make your schematic easier to read.



In the meantime, since I can anyway not use the Mac version which is way too slow, I have insalled
a nightly build just to check whether it’s faster. And it is! I would say it takes 1/4 second. Not exactly
immediate, but at least the strings are not redrawn (or they are redrawn fast enough so that it’s not
noticeable anymore). So I’ll stay with version 4 on Windows, and we can consider this issue solved
I guess in version 5.
I don’t think splitting in smaller units or simplifying strings should be more than a workaraound
in the meantime. And for simplifying strings, I have to simplify the symbol, which would result in
los of information of the library.
As for simplifying the strings, the biggest problem is loss of information. A very good feature would
be to cause a list view to be displayed on hovering, so that the user can select the pin function he’s
using, and no other. I’ll keep it like this for the time being, Maybe in later versions?




CamStudio is a great Open Source tool for the PC video screen capture.


Thanks for the info. I’m downloading it right now!


[quote=“roboya, post:12, topic:8679”]
I don’t think splitting in smaller units or simplifying strings should be more than a workaraoundin the meantime. And for simplifying strings, I have to simplify the symbol, which would result inlos of information of the library.
[/quote]What you need to save for information purposes is this chip in a spread sheet that can be used with Kipart. Then you can customize the chip each time you use it. Information that isn’t pertinent to the current schematic should be removed anyhow.

Hmm… Actually I wonder if it would be a workable idea to start saving complex chips in a repository for exactly this purpose that could be distributed with the libraries?