Pan, zoom freezing due to netname redraw on complex boards.
Description
If I pan in PCB editor slowly, or frequently stopping the movement, or zoom closely to tracks, then the canvas frequently freezes for about 0.5 seconds to update the netnames.
In PCB_EDIT_FRAME::redrawNetnames
, all tracks are updated with flag KIGFX::REPAINT
which seem to cause cached containers on all layers to update.
Steps to reproduce
- Open a complex board
- Try panning slowly, or with frequent stopping of movement, or zooming near areas with tracks
- See that the canvas frequently freezes during slow movement.
KiCad Version
Application: KiCad PCB Editor (64-bit)
Version: (6.99.0-3423-g8a0384e2f6), release build
Libraries:
wxWidgets 3.1.7
FreeType 2.11.1
HarfBuzz 4.2.0
FontConfig 2.14.0
libcurl/7.83.1-DEV Schannel zlib/1.2.12
Platform: Windows 10 (build 19044), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info:
Date: Sep 16 2022 03:13:58
wxWidgets: 3.1.7 (wchar_t,wx containers)
Boost: 1.79.0
OCC: 7.6.0
Curl: 7.83.1-DEV
Compiler: Visual C++ 1933 without C++ ABI
Build settings:
KICAD_SPICE=OFF